(window.webpackJsonp = window.webpackJsonp || []).push([
    [4], {
        "+lvF": function(t, e, a) {
            t.exports = a("VTer")("native-function-to-string", Function.toString)
        },
        "+rLv": function(t, e, a) {
            var i = a("dyZX").document;
            t.exports = i && i.documentElement
        },
        0: function(t, e, a) {
            t.exports = a("A18H")
        },
        "0/R4": function(t, e) {
            t.exports = function(t) {
                return "object" == typeof t ? null !== t : "function" == typeof t
            }
        },
        "0Rmy": function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":25,"w":58,"h":62,"nm":" icon-simple","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"路径备份","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":2,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":8}},"s":{"a":0,"k":[-15.995,-22.313],"ix":4},"e":{"a":0,"k":[15.128,21.123],"ix":5},"t":1,"lc":2,"lj":2,"bm":0,"nm":"Gradient Border 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":20,"s":[50]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":20,"s":[50]}],"ix":2},"o":{"a":0,"k":138,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":26,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,26.787,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-7.63,0],[-0.97,-7.35],[-0.01,-0.57],[0,0],[0,0],[-0.08,0.64]],"o":[[7.61,0],[0.07,0.55],[0,0],[0,0],[0,-0.66],[0.95,-7.37]],"v":[[0,-7.5],[14.87,5.52],[15,7.19],[15,7.5],[-15,7.5],[-14.88,5.56]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":2,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"矩形备份 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36.648,18.047,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[-100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-1.5,-3],[1.5,-3],[1.5,3],[-1.5,3]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":1.5,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-35,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形备份 3","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"矩形备份 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[21.648,18.047,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2.949,-1.598],[-0.489,-3.318],[2.951,1.592],[0.491,3.322]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":1.5,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形备份 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36,29,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,-1.1],[-1.1,0],[0,1.1]],"o":[[-1.1,0],[0,1.1],[1.1,0],[0,-1.1]],"v":[[0,-2],[-2,0],[0,2],[2,0]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[22.562,29,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.1,0],[0,-1.1],[-1.1,0],[0,1.1]],"o":[[-1.1,0],[0,1.1],[1.1,0],[0,-1.1]],"v":[[0,-2],[-2,0],[0,2],[2,0]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"android","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.399,42.35,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.59,0],[-0.41,0.38],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,0],[0.38,-0.43],[0,-0.65],[-0.39,-0.44]],"o":[[0.47,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.4,-0.41],[-0.58,0],[-0.39,0.43],[0,0.65],[0.38,0.43]],"v":[[-13.468,3.771],[-12.148,3.201],[-12.148,3.201],[-12.148,3.651],[-11.158,3.651],[-11.158,-0.629],[-12.148,-0.629],[-12.148,-0.129],[-13.488,-0.749],[-14.928,-0.109],[-15.508,1.501],[-14.928,3.131]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.37,0],[0.23,0.26],[0,0.41],[-0.23,0.26],[-0.34,0],[-0.23,-0.25],[0,-0.41],[0.23,-0.26]],"o":[[-0.34,0],[-0.22,-0.26],[0,-0.38],[0.23,-0.26],[0.36,0],[0.23,0.26],[0,0.4],[-0.23,0.25]],"v":[[-13.318,2.893],[-14.168,2.503],[-14.498,1.493],[-14.158,0.533],[-13.308,0.143],[-12.428,0.523],[-12.088,1.523],[-12.428,2.513]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.14,0.22],[-0.32,0],[-0.12,-0.16],[0,-0.42],[0,0],[0,0],[0,0],[0,0],[0.24,0.27],[0.5,0],[0.35,-0.34],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,-0.53],[0.13,-0.21],[0.31,0],[0.12,0.16],[0,0],[0,0],[0,0],[0,0],[0,-0.61],[-0.28,-0.31],[-0.43,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-8.92,3.651],[-8.92,1.581],[-8.71,0.461],[-8.02,0.141],[-7.39,0.381],[-7.22,1.261],[-7.22,1.261],[-7.22,3.651],[-6.22,3.651],[-6.22,1.031],[-6.58,-0.279],[-7.75,-0.749],[-8.92,-0.239],[-8.92,-0.239],[-8.92,-0.629],[-9.91,-0.629],[-9.91,3.651]],"c":true},"ix":2},"nm":"路径 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.58,0],[-0.39,0.38],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,0],[0.38,-0.43],[0,-0.64],[-0.39,-0.43]],"o":[[0.5,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.4,-0.41],[-0.57,0],[-0.39,0.43],[0,0.65],[0.38,0.43]],"v":[[-3.147,3.777],[-1.817,3.197],[-1.817,3.197],[-1.817,3.647],[-0.827,3.647],[-0.827,-3.773],[-1.817,-3.773],[-1.817,-0.133],[-3.167,-0.753],[-4.597,-0.103],[-5.177,1.497],[-4.597,3.127]],"c":true},"ix":2},"nm":"路径 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0.37,0],[0.23,0.26],[0,0.41],[-0.23,0.26],[-0.34,0],[-0.23,-0.25],[0,-0.41],[0.23,-0.26]],"o":[[-0.34,0],[-0.22,-0.26],[0,-0.38],[0.23,-0.26],[0.36,0],[0.23,0.26],[0,0.4],[-0.23,0.25]],"v":[[-2.986,2.893],[-3.836,2.503],[-4.166,1.493],[-3.826,0.533],[-2.976,0.143],[-2.096,0.523],[-1.756,1.523],[-2.096,2.513]],"c":true},"ix":2},"nm":"路径 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.54,0],[-0.19,-0.13],[0,0],[0,0],[0.26,0],[0.15,-0.07],[0.18,-0.19],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,-0.81],[0.18,0],[0,0],[0,0],[-0.28,-0.17],[-0.19,0],[-0.14,0.07],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.412,3.651],[1.412,1.431],[2.222,0.211],[2.772,0.411],[2.772,0.411],[3.222,-0.499],[2.402,-0.749],[1.892,-0.639],[1.412,-0.249],[1.412,-0.249],[1.412,-0.629],[0.422,-0.629],[0.422,3.651]],"c":true},"ix":2},"nm":"路径 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.64,0],[-0.44,0.43],[0,0.64],[0.44,0.44],[0.64,0],[0.45,-0.43],[0,-0.62],[-0.43,-0.43]],"o":[[0.65,0],[0.44,-0.44],[0,-0.63],[-0.45,-0.43],[-0.63,0],[-0.44,0.43],[0,0.65],[0.43,0.44]],"v":[[5.767,3.771],[7.407,3.131],[8.077,1.511],[7.417,-0.099],[5.787,-0.749],[4.167,-0.099],[3.507,1.481],[4.157,3.111]],"c":true},"ix":2},"nm":"路径 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[0.39,0],[0.24,0.25],[0,0.43],[-0.23,0.25],[-0.38,0],[-0.24,-0.25],[0,-0.42],[0.23,-0.25]],"o":[[-0.38,0],[-0.23,-0.25],[0,-0.39],[0.24,-0.25],[0.38,0],[0.23,0.25],[0,0.41],[-0.23,0.25]],"v":[[5.788,2.893],[4.858,2.513],[4.518,1.493],[4.868,0.523],[5.788,0.143],[6.718,0.523],[7.058,1.523],[6.718,2.513]],"c":true},"ix":2},"nm":"路径 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.18,0],[-0.12,0.12],[0,0.18],[0.12,0.12],[0.18,0],[0.12,-0.13],[0,-0.18],[-0.13,-0.13]],"o":[[0.17,0],[0.12,-0.13],[0,-0.18],[-0.13,-0.13],[-0.17,0],[-0.13,0.12],[0,0.18],[0.12,0.12]],"v":[[9.619,-1.758],[10.069,-1.948],[10.259,-2.408],[10.069,-2.858],[9.609,-3.048],[9.159,-2.858],[8.969,-2.408],[9.159,-1.948]],"c":true},"ix":2},"nm":"路径 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[10.103,3.649],[10.103,-0.631],[9.123,-0.631],[9.123,3.649]],"c":true},"ix":2},"nm":"路径 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.58,0],[-0.39,0.38],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,0],[0.38,-0.43],[0,-0.64],[-0.39,-0.43]],"o":[[0.5,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.4,-0.41],[-0.57,0],[-0.39,0.43],[0,0.65],[0.38,0.43]],"v":[[13.188,3.777],[14.518,3.197],[14.518,3.197],[14.518,3.647],[15.508,3.647],[15.508,-3.773],[14.518,-3.773],[14.518,-0.133],[13.168,-0.753],[11.738,-0.103],[11.158,1.497],[11.738,3.127]],"c":true},"ix":2},"nm":"路径 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[0.37,0],[0.23,0.26],[0,0.41],[-0.23,0.26],[-0.34,0],[-0.23,-0.25],[0,-0.41],[0.23,-0.26]],"o":[[-0.34,0],[-0.22,-0.26],[0,-0.38],[0.23,-0.26],[0.36,0],[0.23,0.26],[0,0.4],[-0.23,0.25]],"v":[[13.348,2.893],[12.498,2.503],[12.168,1.493],[12.508,0.533],[13.358,0.143],[14.238,0.523],[14.578,1.523],[14.238,2.513]],"c":true},"ix":2},"nm":"路径 12","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"合并路径 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"android","np":14,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"路径备份 11","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":11,"op":29,"st":2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"路径备份 10","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":11,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":25,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 7","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":11,"op":29,"st":2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"路径备份 5","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":7,"op":26,"st":-2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"路径备份 4","tt":1,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":7,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":21,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":26,"st":-2,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"路径备份 13","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 8","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":3,"op":21,"st":-6,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"路径备份 12","tt":1,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":3,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":17,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 8","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":21,"st":-6,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"路径备份 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,30.999,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.169,0.169,0.18,0.5,0.092,0.092,0.098,1,0.016,0.016,0.016],"ix":9}},"s":{"a":0,"k":[-14.627,-24.39],"ix":5},"e":{"a":0,"k":[14.03,24.569],"ix":6},"t":1,"nm":"Gradient Fill 5","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":0,"op":26,"st":0,"bm":0}],"markers":[]}')
        },
        "0aT7": function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":21,"w":145,"h":41,"nm":"download右上角-动效","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"空 13","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73,21,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":21,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"矩形 5","parent":1,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":1,"ix":10},"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":8}},"s":{"a":0,"k":[-67.606,-14.434],"ix":4},"e":{"a":0,"k":[67.359,15.458],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":13},"bm":0,"nm":"渐变描边 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[-32.766,-18.403],"ix":5},"e":{"a":0,"k":[47.551,20],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":21,"st":-111,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"矩形 2","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.674,"y":0.713},"o":{"x":0.342,"y":0.382},"t":6,"s":[-151,-0.5,0],"to":[4.835,0,0],"ti":[-26.012,0,0]},{"i":{"x":0.607,"y":1},"o":{"x":0.323,"y":1},"t":8,"s":[-98.004,-0.5,0],"to":[40.458,0,0],"ti":[-7.823,0,0]},{"t":21,"s":[0,-0.5,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,1,0.306,0.667,0.5,0.622,0.386,0.833,1,0.243,0.467,1],"ix":9}},"s":{"a":0,"k":[-66.948,-17.694],"ix":5},"e":{"a":0,"k":[65.548,26.561],"ix":6},"t":1,"nm":"Gradient Fill 3","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":21,"st":-111,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"矩形 7","parent":1,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":1,"ix":10},"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":8}},"s":{"a":0,"k":[-67.606,-14.434],"ix":4},"e":{"a":0,"k":[67.359,15.458],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":13},"bm":0,"nm":"渐变描边 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[-32.766,-18.403],"ix":5},"e":{"a":0,"k":[47.551,20],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":21,"st":-114,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"矩形 4","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.675,"y":0.793},"o":{"x":0.348,"y":0.478},"t":3,"s":[-151,-0.5,0],"to":[11.918,0,0],"ti":[-40.348,0,0]},{"i":{"x":0.622,"y":1},"o":{"x":0.313,"y":1},"t":8,"s":[-43.072,-0.5,0],"to":[22.798,0,0],"ti":[-2.367,0,0]},{"t":18,"s":[0,-0.5,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-66.948,-17.694],"ix":5},"e":{"a":0,"k":[65.548,26.561],"ix":6},"t":1,"nm":"Gradient Fill 2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":21,"st":-114,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"矩形 3","parent":1,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":1,"ix":10},"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":8}},"s":{"a":0,"k":[-67.606,-14.434],"ix":4},"e":{"a":0,"k":[67.359,15.458],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":13},"bm":0,"nm":"渐变描边 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[-32.766,-18.403],"ix":5},"e":{"a":0,"k":[47.551,20],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":21,"st":-117,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"矩形 6","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.654,"y":0.87},"o":{"x":0.338,"y":0.59},"t":0,"s":[-151,0,0],"to":[9.472,0,0],"ti":[-21.013,0,0]},{"i":{"x":0.627,"y":1},"o":{"x":0.304,"y":0.89},"t":8,"s":[-15.226,-0.5,0],"to":[6.421,0,0],"ti":[-3.673,0,0]},{"t":15,"s":[0,-0.5,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,41],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-66.948,-17.694],"ix":5},"e":{"a":0,"k":[65.548,26.561],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":21,"st":-117,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"矩形 8","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.5,-0.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":24,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":21,"st":-161,"bm":0}],"markers":[{"tm":3,"cm":"1","dr":0},{"tm":6,"cm":"2","dr":0}]}')
        },
        "0mN4": function(t, e, a) {
            "use strict";
            a("OGtf")("fixed", (function(t) {
                return function() {
                    return t(this, "tt", "", "")
                }
            }))
        },
        "0sh+": function(t, e, a) {
            var i = a("quPj"),
                r = a("vhPU");
            t.exports = function(t, e, a) {
                if (i(e)) throw TypeError("String#" + a + " doesn't accept regex!");
                return String(r(t))
            }
        },
        "1MBn": function(t, e, a) {
            var i = a("DVgA"),
                r = a("JiEa"),
                s = a("UqcF");
            t.exports = function(t) {
                var e = i(t),
                    a = r.f;
                if (a)
                    for (var n, o = a(t), l = s.f, h = 0; o.length > h;) l.call(t, n = o[h++]) && e.push(n);
                return e
            }
        },
        "1TsA": function(t, e) {
            t.exports = function(t, e) {
                return {
                    value: e,
                    done: !!t
                }
            }
        },
        "2OiF": function(t, e) {
            t.exports = function(t) {
                if ("function" != typeof t) throw TypeError(t + " is not a function!");
                return t
            }
        },
        "4R4u": function(t, e) {
            t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
        },
        "5yfZ": function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":25,"w":58,"h":62,"nm":" icon-compatible","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"路径备份","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":2,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":8}},"s":{"a":0,"k":[-15.995,-22.313],"ix":4},"e":{"a":0,"k":[15.128,21.123],"ix":5},"t":1,"lc":2,"lj":2,"bm":0,"nm":"Gradient Border 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":20,"s":[50]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":20,"s":[50]}],"ix":2},"o":{"a":0,"k":138,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":26,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"路径 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29.02,31.028,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-7.009,3.008],[-2.329,-3.012],[2.321,3.008],[7.011,-3.012]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径 7","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"椭圆形备份 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[41,19,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[4,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆形备份 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.97,0],[-0.33,0.05],[0,0],[0,0],[0,0],[2.76,0],[0,0],[0,2.76],[0,0],[-2.76,0],[0,0]],"o":[[0.34,0],[0,0],[0,0],[0,0],[0,2.76],[0,0],[-2.76,0],[0,0],[0,-2.76],[0,0],[0.48,2.84]],"v":[[12,-6],[13,-6.08],[13,-6],[13,-6],[13,6],[8,11],[-8,11],[-13,6],[-13,-6],[-8,-11],[6.08,-11]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"路径备份 11","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":11,"op":29,"st":2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"路径备份 10","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":11,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":25,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 7","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":11,"op":29,"st":2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"路径备份 5","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":7,"op":26,"st":-2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"路径备份 4","tt":1,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":7,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":21,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":26,"st":-2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"路径备份 13","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 8","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":3,"op":21,"st":-6,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"路径备份 12","tt":1,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":3,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":17,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 8","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":21,"st":-6,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"路径备份 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.169,0.169,0.18,0.5,0.092,0.092,0.098,1,0.016,0.016,0.016],"ix":9}},"s":{"a":0,"k":[-14.627,-24.39],"ix":5},"e":{"a":0,"k":[14.03,24.569],"ix":6},"t":1,"nm":"Gradient Fill 5","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":0,"op":26,"st":0,"bm":0}],"markers":[]}')
        },
        "69bn": function(t, e, a) {
            var i = a("y3w9"),
                r = a("2OiF"),
                s = a("K0xU")("species");
            t.exports = function(t, e) {
                var a, n = i(t).constructor;
                return void 0 === n || null == (a = i(n)[s]) ? e : r(a)
            }
        },
        "6FMO": function(t, e, a) {
            var i = a("0/R4"),
                r = a("EWmC"),
                s = a("K0xU")("species");
            t.exports = function(t) {
                var e;
                return r(t) && ("function" != typeof(e = t.constructor) || e !== Array && !r(e.prototype) || (e = void 0), i(e) && null === (e = e[s]) && (e = void 0)), void 0 === e ? Array : e
            }
        },
        "8+KV": function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("CkkT")(0),
                s = a("LyE8")([].forEach, !0);
            i(i.P + i.F * !s, "Array", {
                forEach: function(t) {
                    return r(this, t, arguments[1])
                }
            })
        },
        A18H: function(t, e, a) {
            "use strict";
            a.r(e);
            a("0mN4");
            var i = a("+2Rf"),
                r = a.n(i),
                s = (a("gCrC"), a("hKI/")),
                n = a.n(s),
                o = a("kYze");
            a("hmG0"), a("L9s1"), a("Z2Ku");
            r()((function() {
                (window.ActiveXObject || "ActiveXObject" in window || navigator.userAgent.includes("Edge/")) && r()("html").addClass("is-ie")
            }));
            a("8+KV");
            var l = a("lPHp"),
                h = a.n(l),
                p = a("0Rmy"),
                c = a("QD8t"),
                m = a("5yfZ"),
                d = !1;
            window.addEventListener("load", (function() {
                d = !0
            })), r()((function() {
                var t, e, a;
                (t = document.getElementById("js-panel-video")) && (t.addEventListener("canplay", (function() {
                    t.play(), t.classList.add("active")
                }), {
                    once: !0
                }), d ? (t.load(), t.play()) : window.addEventListener("load", (function() {
                    t.load()
                }))), e = ["#js-android-wrapper", "#js-screen-wrapper", "#js-quick-wrapper"], a = [p, c, m], ["js-icon-android", "js-icon-screen", "js-icon-quick"].forEach((function(t, i) {
                    var s = r()(e[i]),
                        n = h.a.loadAnimation({
                            container: document.getElementById(t),
                            renderer: "svg",
                            loop: !1,
                            autoplay: !1,
                            animationData: a[i]
                        });
                    s.hover((function() {
                        n.setDirection(1), n.play()
                    }), (function() {
                        n.setDirection(-1), n.play()
                    }))
                }))
            }));
            var f = a("Spam");
            r()((function() {
                var t, e;
                r()("#js-search-btn").on("click", (function() {
                    r()(this).closest("form")[0].submit()
                })), t = r()("#js-btn-app-wrapper"), e = h.a.loadAnimation({
                    container: document.getElementById("js-btn-app"),
                    renderer: "svg",
                    loop: !1,
                    autoplay: !1,
                    animationData: f
                }), t.hover((function() {
                    e.setDirection(1), e.play()
                }), (function() {
                    e.setDirection(-1), e.play()
                }))
            }));
            a("HAE/");
            var u = a("sM/0"),
                g = a("FBMM"),
                y = a("LmFj"),
                v = {
                    swiper: void 0,
                    animMap: {},
                    activeAnim: void 0,
                    activeVideo: void 0,
                    $videoIconList: void 0,
                    $videoPageList: r()("[data-video-pagination]")
                };

            function x() {
                var t = r()("#video-list-wrapper"),
                    e = r()(window).scrollTop(),
                    a = t.offset(),
                    i = v.activeVideo;
                e > a - window.innerHeight / 2 && e <= a + t.height() / 2 ? i ? i.play() : v.swiper && (v.swiper.showVideo(), v.activeVideo.play()) : i && (i.currentTime = 0, i.pause())
            }
            Object.defineProperty(v, "currentVideoIndex", {
                set: function(t) {
                    if (t !== this.currentVideoIndex) {
                        this.$videoPageList.removeClass("active"), this.$videoPageList.get(t).classList.add("active"), this.activeAnim && (this.activeAnim.setDirection(-1), this.activeAnim.play());
                        var e = this.animMap[r()(this.$videoIconList.get(t)).data("video-icon")];
                        e.setDirection(1), e.play(), this.activeAnim = e, this.swiper.realIndex !== t && this.swiper.slideTo(t, 500)
                    }
                }
            }), window.addEventListener("load", (function() {
                x()
            })), window.addEventListener("scroll", n()(x, 100)), r()((function() {
                var t, e, a, i, s;
                t = r()("#js-btn-tutorial-wrapper"), e = h.a.loadAnimation({
                    container: document.getElementById("js-btn-tutorial"),
                    renderer: "svg",
                    loop: !1,
                    autoplay: !1,
                    animationData: f
                }), t.hover((function() {
                    e.setDirection(1), e.play()
                }), (function() {
                    e.setDirection(-1), e.play()
                })), a = {
                    keyboard: u,
                    multiple: g,
                    video: y
                }, v.$videoIconList = r()("[data-video-icon]"), v.$videoIconList.each((function(t, e) {
                    var i = r()(e),
                        s = i.data("video-icon"),
                        n = i.closest("[data-video-pagination]"),
                        o = h.a.loadAnimation({
                            container: e,
                            renderer: "svg",
                            loop: !1,
                            animationData: a[s],
                            autoplay: !1
                        });
                    v.animMap[s] = o, n.hover((function() {
                        window.track({
                            name: "video-hover",
                            content: t + 1
                        }), v.currentVideoIndex = t
                    }), (function() {}))
                })), i = r()("[data-js-video]"), s = new(0, window.Swiper)(".video-list-wrapper", {
                    centeredSlides: !0,
                    slidesPerView: "auto",
                    spaceBetween: 4,
                    runCallbacksOnInit: !1,
                    onSlideChangeStart: function() {
                        s.showVideo()
                    },
                    onSlideChangeEnd: function(t) {
                        var e = t.realIndex,
                            a = t.previousIndex,
                            r = i.get(a);
                        r.currentTime = 0, r.pause(), i.get(e).play()
                    }
                }), r()("[data-js-video]").each((function(t, e) {
                    e.onended = function() {
                        return s.isEnd ? s.slideTo(0) : s.slideNext()
                    }
                })), s.showVideo = function() {
                    var t = s.realIndex,
                        e = s.previousIndex;
                    v.currentVideoIndex = t;
                    var a = i.get(t);
                    a.load(), v.activeVideo = a;
                    try {
                        a.currentTime = 0
                    } catch (t) {
                        a.addEventListener("loadedmetadata", (function() {
                            a.currentTime = 0
                        }), !1)
                    }
                    if (r()(a).addClass("active"), e !== t) {
                        var n = i.get(e);
                        r()(n).removeClass("active")
                    }
                }, v.swiper = s, x()
            })), r()((function() {
                new(0, window.Swiper)(".evaluation-list-wrapper", {
                    centeredSlides: !0,
                    slidesPerView: "auto",
                    spaceBetween: 4,
                    loop: !0,
                    autoplayDisableOnInteraction: !1,
                    pagination: ".evaluation-swiper-pagination",
                    paginationClickable: !0,
                    slideToClickedSlide: !0,
                    runCallbacksOnInit: !1
                })
            }));
            var k = a("rTrL");
            r()((function() {
                var t, e, a, i;
                window.isAdUrl && r.a.getJSON("/api/ironsource", (function(t) {
                    t && 0 === t.code && t.dlUrl && r()("[data-download-major]").attr("href", t.dlUrl)
                })), r()("html").hasClass("is-mobile") && (r()(document).on("click", "[data-download-btn]", (function() {
                    return r()("#download-dialog").addClass("active"), !1
                })), r()("#download-dialog").on("click", "[data-dialog-close]", (function() {
                    r()("#download-dialog").removeClass("active")
                }))), t = r()("#js-major-btn-wrapper"), e = h.a.loadAnimation({
                    container: document.getElementById("js-major-btn"),
                    renderer: "svg",
                    loop: !0,
                    autoplay: !1,
                    animationData: k
                }), t.hover((function() {
                    e.play()
                }), (function() {
                    e.stop()
                })), a = r()("#js-btn-ard9-wrapper"), i = h.a.loadAnimation({
                    container: document.getElementById("js-btn-ard9"),
                    renderer: "svg",
                    loop: !1,
                    autoplay: !1,
                    animationData: f
                }), a.hover((function() {
                    i.setDirection(1), i.play()
                }), (function() {
                    i.setDirection(-1), i.play()
                }))
            })), r()("#egg-section").length && r()("#egg-section").on("click", "[data-close]", (function() {
                r()("#egg-section").remove()
            }));
            var b = function(t) {
                t >= 960 ? o.a.fixed() : o.a.unfixed()
            };

            function E() {
                var t = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
                b(t)
            }
            b = n()(b, 400), r()(window).scroll(E)
        },
        A5AN: function(t, e, a) {
            "use strict";
            var i = a("AvRE")(!0);
            t.exports = function(t, e, a) {
                return e + (a ? i(t, e).length : 1)
            }
        },
        Afnz: function(t, e, a) {
            "use strict";
            var i = a("LQAc"),
                r = a("XKFU"),
                s = a("KroJ"),
                n = a("Mukb"),
                o = a("hPIQ"),
                l = a("QaDb"),
                h = a("fyDq"),
                p = a("OP3Y"),
                c = a("K0xU")("iterator"),
                m = !([].keys && "next" in [].keys()),
                d = function() {
                    return this
                };
            t.exports = function(t, e, a, f, u, g, y) {
                l(a, e, f);
                var v, x, k, b = function(t) {
                        if (!m && t in P) return P[t];
                        switch (t) {
                            case "keys":
                            case "values":
                                return function() {
                                    return new a(this, t)
                                }
                        }
                        return function() {
                            return new a(this, t)
                        }
                    },
                    E = e + " Iterator",
                    S = "values" == u,
                    w = !1,
                    P = t.prototype,
                    C = P[c] || P["@@iterator"] || u && P[u],
                    A = C || b(u),
                    T = u ? S ? b("entries") : A : void 0,
                    D = "Array" == e && P.entries || C;
                if (D && (k = p(D.call(new t))) !== Object.prototype && k.next && (h(k, E, !0), i || "function" == typeof k[c] || n(k, c, d)), S && C && "values" !== C.name && (w = !0, A = function() {
                    return C.call(this)
                }), i && !y || !m && !w && P[c] || n(P, c, A), o[e] = A, o[E] = d, u)
                    if (v = {
                        values: S ? A : b("values"),
                        keys: g ? A : b("keys"),
                        entries: T
                    }, y)
                        for (x in v) x in P || s(P, x, v[x]);
                    else r(r.P + r.F * (m || w), e, v);
                return v
            }
        },
        AvRE: function(t, e, a) {
            var i = a("RYi7"),
                r = a("vhPU");
            t.exports = function(t) {
                return function(e, a) {
                    var s, n, o = String(r(e)),
                        l = i(a),
                        h = o.length;
                    return l < 0 || l >= h ? t ? "" : void 0 : (s = o.charCodeAt(l)) < 55296 || s > 56319 || l + 1 === h || (n = o.charCodeAt(l + 1)) < 56320 || n > 57343 ? t ? o.charAt(l) : s : t ? o.slice(l, l + 2) : n - 56320 + (s - 55296 << 10) + 65536
                }
            }
        },
        Btvt: function(t, e, a) {
            "use strict";
            var i = a("I8a+"),
                r = {};
            r[a("K0xU")("toStringTag")] = "z", r + "" != "[object z]" && a("KroJ")(Object.prototype, "toString", (function() {
                return "[object " + i(this) + "]"
            }), !0)
        },
        "C/va": function(t, e, a) {
            "use strict";
            var i = a("y3w9");
            t.exports = function() {
                var t = i(this),
                    e = "";
                return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.unicode && (e += "u"), t.sticky && (e += "y"), e
            }
        },
        CkkT: function(t, e, a) {
            var i = a("m0Pp"),
                r = a("Ymqv"),
                s = a("S/j/"),
                n = a("ne8i"),
                o = a("zRwo");
            t.exports = function(t, e) {
                var a = 1 == t,
                    l = 2 == t,
                    h = 3 == t,
                    p = 4 == t,
                    c = 6 == t,
                    m = 5 == t || c,
                    d = e || o;
                return function(e, o, f) {
                    for (var u, g, y = s(e), v = r(y), x = i(o, f, 3), k = n(v.length), b = 0, E = a ? d(e, k) : l ? d(e, 0) : void 0; k > b; b++)
                        if ((m || b in v) && (g = x(u = v[b], b, y), t))
                            if (a) E[b] = g;
                            else if (g) switch (t) {
                        case 3:
                            return !0;
                        case 5:
                            return u;
                        case 6:
                            return b;
                        case 2:
                            E.push(u)
                    } else if (p) return !1;
                    return c ? -1 : h || p ? p : E
                }
            }
        },
        DVgA: function(t, e, a) {
            var i = a("zhAb"),
                r = a("4R4u");
            t.exports = Object.keys || function(t) {
                return i(t, r)
            }
        },
        EWmC: function(t, e, a) {
            var i = a("LZWt");
            t.exports = Array.isArray || function(t) {
                return "Array" == i(t)
            }
        },
        EemH: function(t, e, a) {
            var i = a("UqcF"),
                r = a("RjD/"),
                s = a("aCFj"),
                n = a("apmT"),
                o = a("aagx"),
                l = a("xpql"),
                h = Object.getOwnPropertyDescriptor;
            e.f = a("nh4g") ? h : function(t, e) {
                if (t = s(t), e = n(e, !0), l) try {
                    return h(t, e)
                } catch (t) {}
                if (o(t, e)) return r(!i.f.call(t, e), t[e])
            }
        },
        FBMM: function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":15,"w":96,"h":96,"nm":"images/icon_video_hover备份 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":5,"ty":3,"nm":"空 10","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,47.25,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[100,100,100]},{"t":15,"s":[120,120,100]}],"ix":6}},"ao":0,"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"矩形备份 2","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-14.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[16,3],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":1.385,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"矩形","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-9.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[26,3],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":1.385,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"形状 2","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,5.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-3.06],[0,0],[3.06,0],[0,0],[0,3.06],[0,0],[-3.06,0]],"o":[[3.06,0],[0,0],[0,3.06],[0,0],[-3.06,0],[0,0],[0,-3.06],[0,0]],"v":[[12.46,-11.5],[18,-5.96],[18,5.96],[12.46,11.5],[-12.46,11.5],[-18,5.96],[-18,-5.96],[-12.46,-11.5]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.22,0.21],[0,0],[0.42,0.51],[0,0],[0.54,-0.42],[0,0],[0,0],[0,0],[0.54,-0.41],[0,0],[0,0],[-0.42,-0.5],[0,0],[0,0],[-0.33,-0.02],[0,0],[0,0]],"o":[[0,0],[0.47,-0.48],[0,0],[-0.5,-0.49],[0,0],[0,0],[0,0],[-0.5,-0.48],[0,0],[0,0],[-0.47,0.49],[0,0],[0,0],[0.26,0.24],[0,0],[0,0],[0.28,-0.04]],"v":[[-0.995,4.533],[6.885,-3.087],[6.955,-4.837],[6.835,-4.957],[5.025,-5.057],[4.915,-4.957],[-1.955,1.673],[-4.915,-1.177],[-6.725,-1.277],[-6.855,-1.157],[-6.885,-1.127],[-6.955,0.623],[-6.855,0.733],[-2.925,4.533],[-2.025,4.923],[-1.885,4.923],[-1.755,4.903]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"合并路径 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.323],"y":[0]},"t":0,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[100,100,100]},{"t":15,"s":[119,119,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-36.599],[28.95,-23.459],[35,-13.039],[35,13.041],[28.95,23.451],[5.95,36.601],[-5.95,36.601],[-28.95,23.451],[-35,13.041],[-35,-13.039],[-28.95,-23.459],[-5.95,-36.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,0.600000023842],"ix":3},"o":{"a":0,"k":60,"ix":4},"w":{"a":0,"k":0.833,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901961237,0.06274510175,0.196078434587,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.32],"y":[1.41]},"t":0,"s":[0]},{"t":15,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[82,82,100]},{"t":15,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.42,-2.53],[0,0],[0,-5.19],[0,0],[4.49,-2.57],[0,0],[4.42,2.53],[0,0],[0,5.19],[0,0],[-4.49,2.57],[0,0]],"o":[[0,0],[4.49,2.57],[0,0],[0,5.19],[0,0],[-4.42,2.53],[0,0],[-4.49,-2.57],[0,0],[0,-5.19],[0,0],[4.42,-2.53]],"v":[[7.14,-44.1],[34.74,-28.26],[42,-15.71],[42,15.71],[34.74,28.26],[7.14,44.1],[-7.14,44.1],[-34.74,28.26],[-42,15.71],[-42,-15.71],[-34.74,-28.26],[-7.14,-44.1]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-38.345,-31.438],"ix":5},"e":{"a":0,"k":[36.981,55.661],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0}],"markers":[]}')
        },
        FJW5: function(t, e, a) {
            var i = a("hswa"),
                r = a("y3w9"),
                s = a("DVgA");
            t.exports = a("nh4g") ? Object.defineProperties : function(t, e) {
                r(t);
                for (var a, n = s(e), o = n.length, l = 0; o > l;) i.f(t, a = n[l++], e[a]);
                return t
            }
        },
        "HAE/": function(t, e, a) {
            var i = a("XKFU");
            i(i.S + i.F * !a("nh4g"), "Object", {
                defineProperty: a("hswa").f
            })
        },
        I78e: function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("+rLv"),
                s = a("LZWt"),
                n = a("d/Gc"),
                o = a("ne8i"),
                l = [].slice;
            i(i.P + i.F * a("eeVq")((function() {
                r && l.call(r)
            })), "Array", {
                slice: function(t, e) {
                    var a = o(this.length),
                        i = s(this);
                    if (e = void 0 === e ? a : e, "Array" == i) return l.call(this, t, e);
                    for (var r = n(t, a), h = n(e, a), p = o(h - r), c = new Array(p), m = 0; m < p; m++) c[m] = "String" == i ? this.charAt(r + m) : this[r + m];
                    return c
                }
            })
        },
        "I8a+": function(t, e, a) {
            var i = a("LZWt"),
                r = a("K0xU")("toStringTag"),
                s = "Arguments" == i(function() {
                    return arguments
                }());
            t.exports = function(t) {
                var e, a, n;
                return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof(a = function(t, e) {
                    try {
                        return t[e]
                    } catch (t) {}
                }(e = Object(t), r)) ? a : s ? i(e) : "Object" == (n = i(e)) && "function" == typeof e.callee ? "Arguments" : n
            }
        },
        "IU+Z": function(t, e, a) {
            "use strict";
            a("sMXx");
            var i = a("KroJ"),
                r = a("Mukb"),
                s = a("eeVq"),
                n = a("vhPU"),
                o = a("K0xU"),
                l = a("Ugos"),
                h = o("species"),
                p = !s((function() {
                    var t = /./;
                    return t.exec = function() {
                        var t = [];
                        return t.groups = {
                            a: "7"
                        }, t
                    }, "7" !== "".replace(t, "$<a>")
                })),
                c = function() {
                    var t = /(?:)/,
                        e = t.exec;
                    t.exec = function() {
                        return e.apply(this, arguments)
                    };
                    var a = "ab".split(t);
                    return 2 === a.length && "a" === a[0] && "b" === a[1]
                }();
            t.exports = function(t, e, a) {
                var m = o(t),
                    d = !s((function() {
                        var e = {};
                        return e[m] = function() {
                            return 7
                        }, 7 != "" [t](e)
                    })),
                    f = d ? !s((function() {
                        var e = !1,
                            a = /a/;
                        return a.exec = function() {
                            return e = !0, null
                        }, "split" === t && (a.constructor = {}, a.constructor[h] = function() {
                            return a
                        }), a[m](""), !e
                    })) : void 0;
                if (!d || !f || "replace" === t && !p || "split" === t && !c) {
                    var u = /./ [m],
                        g = a(n, m, "" [t], (function(t, e, a, i, r) {
                            return e.exec === l ? d && !r ? {
                                done: !0,
                                value: u.call(e, a, i)
                            } : {
                                done: !0,
                                value: t.call(a, e, i)
                            } : {
                                done: !1
                            }
                        })),
                        y = g[0],
                        v = g[1];
                    i(String.prototype, t, y), r(RegExp.prototype, m, 2 == e ? function(t, e) {
                        return v.call(t, this, e)
                    } : function(t) {
                        return v.call(t, this)
                    })
                }
            }
        },
        Iw71: function(t, e, a) {
            var i = a("0/R4"),
                r = a("dyZX").document,
                s = i(r) && i(r.createElement);
            t.exports = function(t) {
                return s ? r.createElement(t) : {}
            }
        },
        JiEa: function(t, e) {
            e.f = Object.getOwnPropertySymbols
        },
        K0xU: function(t, e, a) {
            var i = a("VTer")("wks"),
                r = a("ylqs"),
                s = a("dyZX").Symbol,
                n = "function" == typeof s;
            (t.exports = function(t) {
                return i[t] || (i[t] = n && s[t] || (n ? s : r)("Symbol." + t))
            }).store = i
        },
        KKXr: function(t, e, a) {
            "use strict";
            var i = a("quPj"),
                r = a("y3w9"),
                s = a("69bn"),
                n = a("A5AN"),
                o = a("ne8i"),
                l = a("Xxuz"),
                h = a("Ugos"),
                p = a("eeVq"),
                c = Math.min,
                m = [].push,
                d = "length",
                f = !p((function() {
                    RegExp(4294967295, "y")
                }));
            a("IU+Z")("split", 2, (function(t, e, a, p) {
                var u;
                return u = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1)[d] || 2 != "ab".split(/(?:ab)*/)[d] || 4 != ".".split(/(.?)(.?)/)[d] || ".".split(/()()/)[d] > 1 || "".split(/.?/)[d] ? function(t, e) {
                    var r = String(this);
                    if (void 0 === t && 0 === e) return [];
                    if (!i(t)) return a.call(r, t, e);
                    for (var s, n, o, l = [], p = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), c = 0, f = void 0 === e ? 4294967295 : e >>> 0, u = new RegExp(t.source, p + "g");
                        (s = h.call(u, r)) && !((n = u.lastIndex) > c && (l.push(r.slice(c, s.index)), s[d] > 1 && s.index < r[d] && m.apply(l, s.slice(1)), o = s[0][d], c = n, l[d] >= f));) u.lastIndex === s.index && u.lastIndex++;
                    return c === r[d] ? !o && u.test("") || l.push("") : l.push(r.slice(c)), l[d] > f ? l.slice(0, f) : l
                } : "0".split(void 0, 0)[d] ? function(t, e) {
                    return void 0 === t && 0 === e ? [] : a.call(this, t, e)
                } : a, [
                    function(a, i) {
                        var r = t(this),
                            s = null == a ? void 0 : a[e];
                        return void 0 !== s ? s.call(a, r, i) : u.call(String(r), a, i)
                    },
                    function(t, e) {
                        var i = p(u, t, this, e, u !== a);
                        if (i.done) return i.value;
                        var h = r(t),
                            m = String(this),
                            d = s(h, RegExp),
                            g = h.unicode,
                            y = (h.ignoreCase ? "i" : "") + (h.multiline ? "m" : "") + (h.unicode ? "u" : "") + (f ? "y" : "g"),
                            v = new d(f ? h : "^(?:" + h.source + ")", y),
                            x = void 0 === e ? 4294967295 : e >>> 0;
                        if (0 === x) return [];
                        if (0 === m.length) return null === l(v, m) ? [m] : [];
                        for (var k = 0, b = 0, E = []; b < m.length;) {
                            v.lastIndex = f ? b : 0;
                            var S, w = l(v, f ? m : m.slice(b));
                            if (null === w || (S = c(o(v.lastIndex + (f ? 0 : b)), m.length)) === k) b = n(m, b, g);
                            else {
                                if (E.push(m.slice(k, b)), E.length === x) return E;
                                for (var P = 1; P <= w.length - 1; P++)
                                    if (E.push(w[P]), E.length === x) return E;
                                b = k = S
                            }
                        }
                        return E.push(m.slice(k)), E
                    }
                ]
            }))
        },
        KroJ: function(t, e, a) {
            var i = a("dyZX"),
                r = a("Mukb"),
                s = a("aagx"),
                n = a("ylqs")("src"),
                o = a("+lvF"),
                l = ("" + o).split("toString");
            a("g3g5").inspectSource = function(t) {
                return o.call(t)
            }, (t.exports = function(t, e, a, o) {
                var h = "function" == typeof a;
                h && (s(a, "name") || r(a, "name", e)), t[e] !== a && (h && (s(a, n) || r(a, n, t[e] ? "" + t[e] : l.join(String(e)))), t === i ? t[e] = a : o ? t[e] ? t[e] = a : r(t, e, a) : (delete t[e], r(t, e, a)))
            })(Function.prototype, "toString", (function() {
                return "function" == typeof this && this[n] || o.call(this)
            }))
        },
        Kuth: function(t, e, a) {
            var i = a("y3w9"),
                r = a("FJW5"),
                s = a("4R4u"),
                n = a("YTvA")("IE_PROTO"),
                o = function() {},
                l = function() {
                    var t, e = a("Iw71")("iframe"),
                        i = s.length;
                    for (e.style.display = "none", a("+rLv").appendChild(e), e.src = "javascript:", (t = e.contentWindow.document).open(), t.write("<script>document.F=Object<\/script>"), t.close(), l = t.F; i--;) delete l.prototype[s[i]];
                    return l()
                };
            t.exports = Object.create || function(t, e) {
                var a;
                return null !== t ? (o.prototype = i(t), a = new o, o.prototype = null, a[n] = t) : a = l(), void 0 === e ? a : r(a, e)
            }
        },
        L9s1: function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("0sh+");
            i(i.P + i.F * a("UUeW")("includes"), "String", {
                includes: function(t) {
                    return !!~r(this, t, "includes").indexOf(t, arguments.length > 1 ? arguments[1] : void 0)
                }
            })
        },
        LK8F: function(t, e, a) {
            var i = a("XKFU");
            i(i.S, "Array", {
                isArray: a("EWmC")
            })
        },
        LQAc: function(t, e) {
            t.exports = !1
        },
        LZWt: function(t, e) {
            var a = {}.toString;
            t.exports = function(t) {
                return a.call(t).slice(8, -1)
            }
        },
        LmFj: function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":15,"w":96,"h":96,"nm":"images/icon_video_hover备份 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"空 12","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[100,100,100]},{"t":15,"s":[120,120,100]}],"ix":6}},"ao":0,"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"矩形备份 4","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[15,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-4,-3.94],[4,-10],[4,10],[-4,4.02]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":125,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"形状 5","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-4,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-2.47],[0,0],[2.47,0],[0,0],[0,2.47],[0,0],[-2.47,0]],"o":[[2.47,0],[0,0],[0,2.47],[0,0],[-2.47,0],[0,0],[0,-2.47],[0,0]],"v":[[10.53,-13],[15,-8.53],[15,8.53],[10.53,13],[-10.53,13],[-15,8.53],[-15,-8.53],[-10.53,-13]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.66,0],[0,-1.66],[-1.66,0],[0,1.66]],"o":[[-1.66,0],[0,1.66],[1.66,0],[0,-1.66]],"v":[[-7,-8],[-10,-5],[-7,-2],[-4,-5]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"合并路径 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":125,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.323],"y":[0]},"t":0,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[100,100,100]},{"t":15,"s":[119,119,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-36.599],[28.95,-23.459],[35,-13.039],[35,13.041],[28.95,23.451],[5.95,36.601],[-5.95,36.601],[-28.95,23.451],[-35,13.041],[-35,-13.039],[-28.95,-23.459],[-5.95,-36.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,0.600000023842],"ix":3},"o":{"a":0,"k":60,"ix":4},"w":{"a":0,"k":0.833,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901961237,0.06274510175,0.196078434587,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.32],"y":[1.41]},"t":0,"s":[0]},{"t":15,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[82,82,100]},{"t":15,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.42,-2.53],[0,0],[0,-5.19],[0,0],[4.49,-2.57],[0,0],[4.42,2.53],[0,0],[0,5.19],[0,0],[-4.49,2.57],[0,0]],"o":[[0,0],[4.49,2.57],[0,0],[0,5.19],[0,0],[-4.42,2.53],[0,0],[-4.49,-2.57],[0,0],[0,-5.19],[0,0],[4.42,-2.53]],"v":[[7.14,-44.1],[34.74,-28.26],[42,-15.71],[42,15.71],[34.74,28.26],[7.14,44.1],[-7.14,44.1],[-34.74,28.26],[-42,15.71],[-42,-15.71],[-34.74,-28.26],[-7.14,-44.1]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-38.345,-31.438],"ix":5},"e":{"a":0,"k":[36.981,55.661],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0}],"markers":[]}')
        },
        LyE8: function(t, e, a) {
            "use strict";
            var i = a("eeVq");
            t.exports = function(t, e) {
                return !!t && i((function() {
                    e ? t.call(null, (function() {}), 1) : t.call(null)
                }))
            }
        },
        Mukb: function(t, e, a) {
            var i = a("hswa"),
                r = a("RjD/");
            t.exports = a("nh4g") ? function(t, e, a) {
                return i.f(t, e, r(1, a))
            } : function(t, e, a) {
                return t[e] = a, t
            }
        },
        N8g3: function(t, e, a) {
            e.f = a("K0xU")
        },
        OEbY: function(t, e, a) {
            a("nh4g") && "g" != /./g.flags && a("hswa").f(RegExp.prototype, "flags", {
                configurable: !0,
                get: a("C/va")
            })
        },
        OGtf: function(t, e, a) {
            var i = a("XKFU"),
                r = a("eeVq"),
                s = a("vhPU"),
                n = /"/g,
                o = function(t, e, a, i) {
                    var r = String(s(t)),
                        o = "<" + e;
                    return "" !== a && (o += " " + a + '="' + String(i).replace(n, "&quot;") + '"'), o + ">" + r + "</" + e + ">"
                };
            t.exports = function(t, e) {
                var a = {};
                a[t] = e(o), i(i.P + i.F * r((function() {
                    var e = "" [t]('"');
                    return e !== e.toLowerCase() || e.split('"').length > 3
                })), "String", a)
            }
        },
        OP3Y: function(t, e, a) {
            var i = a("aagx"),
                r = a("S/j/"),
                s = a("YTvA")("IE_PROTO"),
                n = Object.prototype;
            t.exports = Object.getPrototypeOf || function(t) {
                return t = r(t), i(t, s) ? t[s] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? n : null
            }
        },
        OnI7: function(t, e, a) {
            var i = a("dyZX"),
                r = a("g3g5"),
                s = a("LQAc"),
                n = a("N8g3"),
                o = a("hswa").f;
            t.exports = function(t) {
                var e = r.Symbol || (r.Symbol = s ? {} : i.Symbol || {});
                "_" == t.charAt(0) || t in e || o(e, t, {
                    value: n.f(t)
                })
            }
        },
        QD8t: function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":25,"w":58,"h":62,"nm":" icon-hd 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"路径备份","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":2,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":8}},"s":{"a":0,"k":[-15.995,-22.313],"ix":4},"e":{"a":0,"k":[15.128,21.123],"ix":5},"t":1,"lc":2,"lj":2,"bm":0,"nm":"Gradient Border 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":20,"s":[50]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":20,"s":[50]}],"ix":2},"o":{"a":0,"k":138,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":26,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"路径 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,44,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-6.5,0],[6.5,0]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径 6","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":26,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"三角形","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[30.123,30,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[0,-4.123],[5,4.127],[-5,4.127]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":1.7,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-270,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"三角形","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":26,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"矩形","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,30,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.76,0],[0,0],[0,-2.76],[0,0],[2.76,0],[0,0],[0,2.76],[0,0]],"o":[[0,0],[2.76,0],[0,0],[0,2.76],[0,0],[-2.76,0],[0,0],[0,-2.76]],"v":[[-8,-10],[8,-10],[13,-5],[13,5],[8,10],[-8,10],[-13,5],[-13,-5]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":26,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"路径备份 11","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":11,"op":29,"st":2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"路径备份 10","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":11,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":25,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 7","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":11,"op":29,"st":2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"路径备份 5","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":7,"op":26,"st":-2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"路径备份 4","tt":1,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":7,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":21,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":7,"op":26,"st":-2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"路径备份 13","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[0,0],"ix":5},"e":{"a":0,"k":[100,0],"ix":6},"t":1,"nm":"渐变填充 8","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":3,"op":21,"st":-6,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"路径备份 12","tt":1,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":3,"s":[-0.5,-19.5,0],"to":[4.917,8.417,0],"ti":[-4.917,-8.417,0]},{"t":17,"s":[29,31,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-16.277,-25.107],"ix":5},"e":{"a":0,"k":[15.903,24.892],"ix":6},"t":1,"nm":"Gradient Fill 8","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":21,"st":-6,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"路径备份 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,31,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-28.599],[21.95,-19.459],[28,-9.039],[28,9.041],[21.95,19.451],[5.95,28.601],[-5.95,28.601],[-21.95,19.451],[-28,9.041],[-28,-9.039],[-21.95,-19.459],[-5.95,-28.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径备份","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.169,0.169,0.18,0.5,0.092,0.092,0.098,1,0.016,0.016,0.016],"ix":9}},"s":{"a":0,"k":[-14.627,-24.39],"ix":5},"e":{"a":0,"k":[14.03,24.569],"ix":6},"t":1,"nm":"Gradient Fill 5","mn":"ADBE Vector Graphic - G-Fill","hd":false}],"ip":0,"op":26,"st":0,"bm":0}],"markers":[]}')
        },
        QaDb: function(t, e, a) {
            "use strict";
            var i = a("Kuth"),
                r = a("RjD/"),
                s = a("fyDq"),
                n = {};
            a("Mukb")(n, a("K0xU")("iterator"), (function() {
                return this
            })), t.exports = function(t, e, a) {
                t.prototype = i(n, {
                    next: r(1, a)
                }), s(t, e + " Iterator")
            }
        },
        RYi7: function(t, e) {
            var a = Math.ceil,
                i = Math.floor;
            t.exports = function(t) {
                return isNaN(t = +t) ? 0 : (t > 0 ? i : a)(t)
            }
        },
        "RjD/": function(t, e) {
            t.exports = function(t, e) {
                return {
                    enumerable: !(1 & t),
                    configurable: !(2 & t),
                    writable: !(4 & t),
                    value: e
                }
            }
        },
        "S/j/": function(t, e, a) {
            var i = a("vhPU");
            t.exports = function(t) {
                return Object(i(t))
            }
        },
        SRfc: function(t, e, a) {
            "use strict";
            var i = a("y3w9"),
                r = a("ne8i"),
                s = a("A5AN"),
                n = a("Xxuz");
            a("IU+Z")("match", 1, (function(t, e, a, o) {
                return [
                    function(a) {
                        var i = t(this),
                            r = null == a ? void 0 : a[e];
                        return void 0 !== r ? r.call(a, i) : new RegExp(a)[e](String(i))
                    },
                    function(t) {
                        var e = o(a, t, this);
                        if (e.done) return e.value;
                        var l = i(t),
                            h = String(this);
                        if (!l.global) return n(l, h);
                        var p = l.unicode;
                        l.lastIndex = 0;
                        for (var c, m = [], d = 0; null !== (c = n(l, h));) {
                            var f = String(c[0]);
                            m[d] = f, "" === f && (l.lastIndex = s(h, r(l.lastIndex), p)), d++
                        }
                        return 0 === d ? null : m
                    }
                ]
            }))
        },
        Spam: function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":27,"w":270,"h":49,"nm":"seemoretutorials-动效","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"路径 7","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[134.498,24.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-125.808,24],[-135.448,7.37],[-117.378,-24],[125.812,-24],[135.452,-7.37],[117.382,24]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":4,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":6,"op":28,"st":-319,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"形状图层 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":6,"s":[-145,24.515,0],"to":[47.848,0,0],"ti":[-48.939,0,0]},{"t":27,"s":[134.655,24.515,0]}],"ix":2},"a":{"a":0,"k":[-3.959,0.015,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[292.082,48.029],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":39,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-145.549,-23.201],"ix":5},"e":{"a":0,"k":[146.773,24.037],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-3.959,0.015],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":6,"op":28,"st":6,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"路径 6","td":1,"sr":1,"ks":{"o":{"a":0,"k":60,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[134.498,24.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-125.808,24],[-135.448,7.37],[-117.378,-24],[125.812,-24],[135.452,-7.37],[117.382,24]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":4,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":28,"st":-322,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"形状图层 2","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":3,"s":[-153.5,24.515,0],"to":[34.344,0,0],"ti":[-75.841,0,0]},{"t":24,"s":[133.807,24.515,0]}],"ix":2},"a":{"a":0,"k":[-3.959,0.015,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[292.082,48.029],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":39,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-145.549,-23.201],"ix":5},"e":{"a":0,"k":[146.773,24.037],"ix":6},"t":1,"nm":"Gradient Fill 2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-3.959,0.015],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3,"op":28,"st":3,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"路径 5","td":1,"sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[134.498,24.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-125.808,24],[-135.448,7.37],[-117.378,-24],[125.812,-24],[135.452,-7.37],[117.382,24]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":4,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-325,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"形状图层 1","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":0,"s":[-145,24.515,0],"to":[46.667,0,0],"ti":[-46.667,0,0]},{"t":21,"s":[135,24.515,0]}],"ix":2},"a":{"a":0,"k":[-3.959,0.015,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[292.082,48.029],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":39,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-145.549,-23.201],"ix":5},"e":{"a":0,"k":[146.773,24.037],"ix":6},"t":1,"nm":"Gradient Fill 2","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-3.959,0.015],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"路径 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[134.998,24.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-125.808,24],[-135.448,7.37],[-117.378,-24],[125.812,-24],[135.452,-7.37],[117.382,24]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":4,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":1,"ix":10},"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":8}},"s":{"a":0,"k":[-123.662,-16.402],"ix":4},"e":{"a":0,"k":[119.263,29.04],"ix":5},"t":1,"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":13},"bm":0,"nm":"Gradient Border 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-278,"bm":0}],"markers":[]}')
        },
        UUeW: function(t, e, a) {
            var i = a("K0xU")("match");
            t.exports = function(t) {
                var e = /./;
                try {
                    "/./" [t](e)
                } catch (a) {
                    try {
                        return e[i] = !1, !"/./" [t](e)
                    } catch (t) {}
                }
                return !0
            }
        },
        Ugos: function(t, e, a) {
            "use strict";
            var i, r, s = a("C/va"),
                n = RegExp.prototype.exec,
                o = String.prototype.replace,
                l = n,
                h = (i = /a/, r = /b*/g, n.call(i, "a"), n.call(r, "a"), 0 !== i.lastIndex || 0 !== r.lastIndex),
                p = void 0 !== /()??/.exec("")[1];
            (h || p) && (l = function(t) {
                var e, a, i, r, l = this;
                return p && (a = new RegExp("^" + l.source + "$(?!\\s)", s.call(l))), h && (e = l.lastIndex), i = n.call(l, t), h && i && (l.lastIndex = l.global ? i.index + i[0].length : e), p && i && i.length > 1 && o.call(i[0], a, (function() {
                    for (r = 1; r < arguments.length - 2; r++) void 0 === arguments[r] && (i[r] = void 0)
                })), i
            }), t.exports = l
        },
        UqcF: function(t, e) {
            e.f = {}.propertyIsEnumerable
        },
        "V+eJ": function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("w2a5")(!1),
                s = [].indexOf,
                n = !!s && 1 / [1].indexOf(1, -0) < 0;
            i(i.P + i.F * (n || !a("LyE8")(s)), "Array", {
                indexOf: function(t) {
                    return n ? s.apply(this, arguments) || 0 : r(this, t, arguments[1])
                }
            })
        },
        VTer: function(t, e, a) {
            var i = a("g3g5"),
                r = a("dyZX"),
                s = r["__core-js_shared__"] || (r["__core-js_shared__"] = {});
            (t.exports = function(t, e) {
                return s[t] || (s[t] = void 0 !== e ? e : {})
            })("versions", []).push({
                version: i.version,
                mode: a("LQAc") ? "pure" : "global",
                copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
            })
        },
        Vd3H: function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("2OiF"),
                s = a("S/j/"),
                n = a("eeVq"),
                o = [].sort,
                l = [1, 2, 3];
            i(i.P + i.F * (n((function() {
                l.sort(void 0)
            })) || !n((function() {
                l.sort(null)
            })) || !a("LyE8")(o)), "Array", {
                sort: function(t) {
                    return void 0 === t ? o.call(s(this)) : o.call(s(this), r(t))
                }
            })
        },
        XKFU: function(t, e, a) {
            var i = a("dyZX"),
                r = a("g3g5"),
                s = a("Mukb"),
                n = a("KroJ"),
                o = a("m0Pp"),
                l = function(t, e, a) {
                    var h, p, c, m, d = t & l.F,
                        f = t & l.G,
                        u = t & l.S,
                        g = t & l.P,
                        y = t & l.B,
                        v = f ? i : u ? i[e] || (i[e] = {}) : (i[e] || {}).prototype,
                        x = f ? r : r[e] || (r[e] = {}),
                        k = x.prototype || (x.prototype = {});
                    for (h in f && (a = e), a) c = ((p = !d && v && void 0 !== v[h]) ? v : a)[h], m = y && p ? o(c, i) : g && "function" == typeof c ? o(Function.call, c) : c, v && n(v, h, c, t & l.U), x[h] != c && s(x, h, m), g && k[h] != c && (k[h] = c)
                };
            i.core = r, l.F = 1, l.G = 2, l.S = 4, l.P = 8, l.B = 16, l.W = 32, l.U = 64, l.R = 128, t.exports = l
        },
        XfO3: function(t, e, a) {
            "use strict";
            var i = a("AvRE")(!0);
            a("Afnz")(String, "String", (function(t) {
                this._t = String(t), this._i = 0
            }), (function() {
                var t, e = this._t,
                    a = this._i;
                return a >= e.length ? {
                    value: void 0,
                    done: !0
                } : (t = i(e, a), this._i += t.length, {
                    value: t,
                    done: !1
                })
            }))
        },
        Xxuz: function(t, e, a) {
            "use strict";
            var i = a("I8a+"),
                r = RegExp.prototype.exec;
            t.exports = function(t, e) {
                var a = t.exec;
                if ("function" == typeof a) {
                    var s = a.call(t, e);
                    if ("object" != typeof s) throw new TypeError("RegExp exec method returned something other than an Object or null");
                    return s
                }
                if ("RegExp" !== i(t)) throw new TypeError("RegExp#exec called on incompatible receiver");
                return r.call(t, e)
            }
        },
        YTvA: function(t, e, a) {
            var i = a("VTer")("keys"),
                r = a("ylqs");
            t.exports = function(t) {
                return i[t] || (i[t] = r(t))
            }
        },
        Ymqv: function(t, e, a) {
            var i = a("LZWt");
            t.exports = Object("z").propertyIsEnumerable(0) ? Object : function(t) {
                return "String" == i(t) ? t.split("") : Object(t)
            }
        },
        Z2Ku: function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("w2a5")(!0);
            i(i.P, "Array", {
                includes: function(t) {
                    return r(this, t, arguments.length > 1 ? arguments[1] : void 0)
                }
            }), a("nGyu")("includes")
        },
        Z6vF: function(t, e, a) {
            var i = a("ylqs")("meta"),
                r = a("0/R4"),
                s = a("aagx"),
                n = a("hswa").f,
                o = 0,
                l = Object.isExtensible || function() {
                    return !0
                },
                h = !a("eeVq")((function() {
                    return l(Object.preventExtensions({}))
                })),
                p = function(t) {
                    n(t, i, {
                        value: {
                            i: "O" + ++o,
                            w: {}
                        }
                    })
                },
                c = t.exports = {
                    KEY: i,
                    NEED: !1,
                    fastKey: function(t, e) {
                        if (!r(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t;
                        if (!s(t, i)) {
                            if (!l(t)) return "F";
                            if (!e) return "E";
                            p(t)
                        }
                        return t[i].i
                    },
                    getWeak: function(t, e) {
                        if (!s(t, i)) {
                            if (!l(t)) return !0;
                            if (!e) return !1;
                            p(t)
                        }
                        return t[i].w
                    },
                    onFreeze: function(t) {
                        return h && c.NEED && l(t) && !s(t, i) && p(t), t
                    }
                }
        },
        a1Th: function(t, e, a) {
            "use strict";
            a("OEbY");
            var i = a("y3w9"),
                r = a("C/va"),
                s = a("nh4g"),
                n = /./.toString,
                o = function(t) {
                    a("KroJ")(RegExp.prototype, "toString", t, !0)
                };
            a("eeVq")((function() {
                return "/a/b" != n.call({
                    source: "a",
                    flags: "b"
                })
            })) ? o((function() {
                var t = i(this);
                return "/".concat(t.source, "/", "flags" in t ? t.flags : !s && t instanceof RegExp ? r.call(t) : void 0)
            })) : "toString" != n.name && o((function() {
                return n.call(this)
            }))
        },
        aCFj: function(t, e, a) {
            var i = a("Ymqv"),
                r = a("vhPU");
            t.exports = function(t) {
                return i(r(t))
            }
        },
        aagx: function(t, e) {
            var a = {}.hasOwnProperty;
            t.exports = function(t, e) {
                return a.call(t, e)
            }
        },
        apmT: function(t, e, a) {
            var i = a("0/R4");
            t.exports = function(t, e) {
                if (!i(t)) return t;
                var a, r;
                if (e && "function" == typeof(a = t.toString) && !i(r = a.call(t))) return r;
                if ("function" == typeof(a = t.valueOf) && !i(r = a.call(t))) return r;
                if (!e && "function" == typeof(a = t.toString) && !i(r = a.call(t))) return r;
                throw TypeError("Can't convert object to primitive value")
            }
        },
        bWfx: function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("CkkT")(1);
            i(i.P + i.F * !a("LyE8")([].map, !0), "Array", {
                map: function(t) {
                    return r(this, t, arguments[1])
                }
            })
        },
        "d/Gc": function(t, e, a) {
            var i = a("RYi7"),
                r = Math.max,
                s = Math.min;
            t.exports = function(t, e) {
                return (t = i(t)) < 0 ? r(t + e, 0) : s(t, e)
            }
        },
        dRSK: function(t, e, a) {
            "use strict";
            var i = a("XKFU"),
                r = a("CkkT")(5),
                s = !0;
            "find" in [] && Array(1).find((function() {
                s = !1
            })), i(i.P + i.F * s, "Array", {
                find: function(t) {
                    return r(this, t, arguments.length > 1 ? arguments[1] : void 0)
                }
            }), a("nGyu")("find")
        },
        dyZX: function(t, e) {
            var a = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
            "number" == typeof __g && (__g = a)
        },
        e7yV: function(t, e, a) {
            var i = a("aCFj"),
                r = a("kJMx").f,
                s = {}.toString,
                n = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
            t.exports.f = function(t) {
                return n && "[object Window]" == s.call(t) ? function(t) {
                    try {
                        return r(t)
                    } catch (t) {
                        return n.slice()
                    }
                }(t) : r(i(t))
            }
        },
        eM6i: function(t, e, a) {
            var i = a("XKFU");
            i(i.S, "Date", {
                now: function() {
                    return (new Date).getTime()
                }
            })
        },
        eeVq: function(t, e) {
            t.exports = function(t) {
                try {
                    return !!t()
                } catch (t) {
                    return !0
                }
            }
        },
        fyDq: function(t, e, a) {
            var i = a("hswa").f,
                r = a("aagx"),
                s = a("K0xU")("toStringTag");
            t.exports = function(t, e, a) {
                t && !r(t = a ? t : t.prototype, s) && i(t, s, {
                    configurable: !0,
                    value: e
                })
            }
        },
        g3g5: function(t, e) {
            var a = t.exports = {
                version: "2.6.12"
            };
            "number" == typeof __e && (__e = a)
        },
        gCrC: function(t, e, a) {
            "use strict";
            (function(t, e) {
                a("Vd3H"), a("V+eJ"), a("dRSK"), a("pIFo"), a("eM6i"), a("KKXr"), a("bWfx"), a("Btvt"), a("h7Nl"), a("a1Th"), a("8+KV"), a("LK8F"), a("I78e"), a("L9s1"), a("Z2Ku"), a("SRfc"), a("HAE/"), a("ioFf"), a("XfO3"), a("yt8O"), a("rGqo");

                function i(t) {
                    return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
                        return typeof t
                    } : function(t) {
                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                    })(t)
                }! function() {
                    var a, r, s, n = function r(s, n) {
                        if (!(this instanceof r)) return new r(s, n);
                        var o = {
                                direction: "horizontal",
                                touchEventsTarget: "container",
                                initialSlide: 0,
                                speed: 300,
                                autoplay: !1,
                                autoplayDisableOnInteraction: !0,
                                autoplayStopOnLast: !1,
                                iOSEdgeSwipeDetection: !1,
                                iOSEdgeSwipeThreshold: 20,
                                freeMode: !1,
                                freeModeMomentum: !0,
                                freeModeMomentumRatio: 1,
                                freeModeMomentumBounce: !0,
                                freeModeMomentumBounceRatio: 1,
                                freeModeMomentumVelocityRatio: 1,
                                freeModeSticky: !1,
                                freeModeMinimumVelocity: .02,
                                autoHeight: !1,
                                setWrapperSize: !1,
                                virtualTranslate: !1,
                                effect: "slide",
                                coverflow: {
                                    rotate: 50,
                                    stretch: 0,
                                    depth: 100,
                                    modifier: 1,
                                    slideShadows: !0
                                },
                                flip: {
                                    slideShadows: !0,
                                    limitRotation: !0
                                },
                                cube: {
                                    slideShadows: !0,
                                    shadow: !0,
                                    shadowOffset: 20,
                                    shadowScale: .94
                                },
                                fade: {
                                    crossFade: !1
                                },
                                parallax: !1,
                                zoom: !1,
                                zoomMax: 3,
                                zoomMin: 1,
                                zoomToggle: !0,
                                scrollbar: null,
                                scrollbarHide: !0,
                                scrollbarDraggable: !1,
                                scrollbarSnapOnRelease: !1,
                                keyboardControl: !1,
                                mousewheelControl: !1,
                                mousewheelReleaseOnEdges: !1,
                                mousewheelInvert: !1,
                                mousewheelForceToAxis: !1,
                                mousewheelSensitivity: 1,
                                mousewheelEventsTarged: "container",
                                hashnav: !1,
                                hashnavWatchState: !1,
                                history: !1,
                                replaceState: !1,
                                breakpoints: void 0,
                                spaceBetween: 0,
                                slidesPerView: 1,
                                slidesPerColumn: 1,
                                slidesPerColumnFill: "column",
                                slidesPerGroup: 1,
                                centeredSlides: !1,
                                slidesOffsetBefore: 0,
                                slidesOffsetAfter: 0,
                                roundLengths: !1,
                                touchRatio: 1,
                                touchAngle: 45,
                                simulateTouch: !0,
                                shortSwipes: !0,
                                longSwipes: !0,
                                longSwipesRatio: .5,
                                longSwipesMs: 300,
                                followFinger: !0,
                                onlyExternal: !1,
                                threshold: 0,
                                touchMoveStopPropagation: !0,
                                touchReleaseOnEdges: !1,
                                uniqueNavElements: !0,
                                pagination: null,
                                paginationElement: "span",
                                paginationClickable: !1,
                                paginationHide: !1,
                                paginationBulletRender: null,
                                paginationProgressRender: null,
                                paginationFractionRender: null,
                                paginationCustomRender: null,
                                paginationType: "bullets",
                                resistance: !0,
                                resistanceRatio: .85,
                                nextButton: null,
                                prevButton: null,
                                watchSlidesProgress: !1,
                                watchSlidesVisibility: !1,
                                grabCursor: !1,
                                preventClicks: !0,
                                preventClicksPropagation: !0,
                                slideToClickedSlide: !1,
                                lazyLoading: !1,
                                lazyLoadingInPrevNext: !1,
                                lazyLoadingInPrevNextAmount: 1,
                                lazyLoadingOnTransitionStart: !1,
                                preloadImages: !0,
                                updateOnImagesReady: !0,
                                loop: !1,
                                loopAdditionalSlides: 0,
                                loopedSlides: null,
                                control: void 0,
                                controlInverse: !1,
                                controlBy: "slide",
                                normalizeSlideIndex: !0,
                                allowSwipeToPrev: !0,
                                allowSwipeToNext: !0,
                                swipeHandler: null,
                                noSwiping: !0,
                                noSwipingClass: "swiper-no-swiping",
                                passiveListeners: !0,
                                containerModifierClass: "swiper-container-",
                                slideClass: "swiper-slide",
                                slideActiveClass: "swiper-slide-active",
                                slideDuplicateActiveClass: "swiper-slide-duplicate-active",
                                slideVisibleClass: "swiper-slide-visible",
                                slideDuplicateClass: "swiper-slide-duplicate",
                                slideNextClass: "swiper-slide-next",
                                slideDuplicateNextClass: "swiper-slide-duplicate-next",
                                slidePrevClass: "swiper-slide-prev",
                                slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
                                wrapperClass: "swiper-wrapper",
                                bulletClass: "swiper-pagination-bullet",
                                bulletActiveClass: "swiper-pagination-bullet-active",
                                buttonDisabledClass: "swiper-button-disabled",
                                paginationCurrentClass: "swiper-pagination-current",
                                paginationTotalClass: "swiper-pagination-total",
                                paginationHiddenClass: "swiper-pagination-hidden",
                                paginationProgressbarClass: "swiper-pagination-progressbar",
                                paginationClickableClass: "swiper-pagination-clickable",
                                paginationModifierClass: "swiper-pagination-",
                                lazyLoadingClass: "swiper-lazy",
                                lazyStatusLoadingClass: "swiper-lazy-loading",
                                lazyStatusLoadedClass: "swiper-lazy-loaded",
                                lazyPreloaderClass: "swiper-lazy-preloader",
                                notificationClass: "swiper-notification",
                                preloaderClass: "preloader",
                                zoomContainerClass: "swiper-zoom-container",
                                observer: !1,
                                observeParents: !1,
                                a11y: !1,
                                prevSlideMessage: "Previous slide",
                                nextSlideMessage: "Next slide",
                                firstSlideMessage: "This is the first slide",
                                lastSlideMessage: "This is the last slide",
                                paginationBulletMessage: "Go to slide {{index}}",
                                runCallbacksOnInit: !0
                            },
                            l = n && n.virtualTranslate;
                        n = n || {};
                        var h = {};
                        for (var p in n)
                            if ("object" !== i(n[p]) || null === n[p] || (n[p].nodeType || n[p] === window || n[p] === document || "undefined" != typeof Dom7 && n[p] instanceof Dom7 || void 0 !== t && n[p] instanceof t)) h[p] = n[p];
                            else
                                for (var c in h[p] = {}, n[p]) h[p][c] = n[p][c];
                        for (var m in o)
                            if (void 0 === n[m]) n[m] = o[m];
                            else if ("object" === i(n[m]))
                            for (var d in o[m]) void 0 === n[m][d] && (n[m][d] = o[m][d]);
                        var f = this;
                        if (f.params = n, f.originalParams = h, f.classNames = [], void 0 !== a && "undefined" != typeof Dom7 && (a = Dom7), (void 0 !== a || (a = "undefined" == typeof Dom7 ? window.Dom7 || window.Zepto || e : Dom7)) && (f.$ = a, f.currentBreakpoint = void 0, f.getActiveBreakpoint = function() {
                            if (!f.params.breakpoints) return !1;
                            var t, e = !1,
                                a = [];
                            for (t in f.params.breakpoints) f.params.breakpoints.hasOwnProperty(t) && a.push(t);
                            a.sort((function(t, e) {
                                return parseInt(t, 10) > parseInt(e, 10)
                            }));
                            for (var i = 0; i < a.length; i++)(t = a[i]) >= window.innerWidth && !e && (e = t);
                            return e || "max"
                        }, f.setBreakpoint = function() {
                            var t = f.getActiveBreakpoint();
                            if (t && f.currentBreakpoint !== t) {
                                var e = t in f.params.breakpoints ? f.params.breakpoints[t] : f.originalParams,
                                    a = f.params.loop && e.slidesPerView !== f.params.slidesPerView;
                                for (var i in e) f.params[i] = e[i];
                                f.currentBreakpoint = t, a && f.destroyLoop && f.reLoop(!0)
                            }
                        }, f.params.breakpoints && f.setBreakpoint(), f.container = a(s), 0 !== f.container.length)) {
                            if (f.container.length > 1) {
                                var u = [];
                                return f.container.each((function() {
                                    u.push(new r(this, n))
                                })), u
                            }
                            var g, y, v, x, k, b, E, S;
                            f.container[0].swiper = f, f.container.data("swiper", f), f.classNames.push(f.params.containerModifierClass + f.params.direction), f.params.freeMode && f.classNames.push("".concat(f.params.containerModifierClass, "free-mode")), f.support.flexbox || (f.classNames.push("".concat(f.params.containerModifierClass, "no-flexbox")), f.params.slidesPerColumn = 1), f.params.autoHeight && f.classNames.push("".concat(f.params.containerModifierClass, "autoheight")), (f.params.parallax || f.params.watchSlidesVisibility) && (f.params.watchSlidesProgress = !0), f.params.touchReleaseOnEdges && (f.params.resistanceRatio = 0), ["cube", "coverflow", "flip"].indexOf(f.params.effect) >= 0 && (f.support.transforms3d ? (f.params.watchSlidesProgress = !0, f.classNames.push("".concat(f.params.containerModifierClass, "3d"))) : f.params.effect = "slide"), "slide" !== f.params.effect && f.classNames.push(f.params.containerModifierClass + f.params.effect), "cube" === f.params.effect && (f.params.resistanceRatio = 0, f.params.slidesPerView = 1, f.params.slidesPerColumn = 1, f.params.slidesPerGroup = 1, f.params.centeredSlides = !1, f.params.spaceBetween = 0, f.params.virtualTranslate = !0), "fade" !== f.params.effect && "flip" !== f.params.effect || (f.params.slidesPerView = 1, f.params.slidesPerColumn = 1, f.params.slidesPerGroup = 1, f.params.watchSlidesProgress = !0, f.params.spaceBetween = 0, void 0 === l && (f.params.virtualTranslate = !0)), f.params.grabCursor && f.support.touch && (f.params.grabCursor = !1), f.wrapper = f.container.children(".".concat(f.params.wrapperClass)), f.params.pagination && (f.paginationContainer = a(f.params.pagination), f.params.uniqueNavElements && "string" == typeof f.params.pagination && f.paginationContainer.length > 1 && 1 === f.container.find(f.params.pagination).length && (f.paginationContainer = f.container.find(f.params.pagination)), "bullets" === f.params.paginationType && f.params.paginationClickable ? f.paginationContainer.addClass("".concat(f.params.paginationModifierClass, "clickable")) : f.params.paginationClickable = !1, f.paginationContainer.addClass(f.params.paginationModifierClass + f.params.paginationType)), (f.params.nextButton || f.params.prevButton) && (f.params.nextButton && (f.nextButton = a(f.params.nextButton), f.params.uniqueNavElements && "string" == typeof f.params.nextButton && f.nextButton.length > 1 && 1 === f.container.find(f.params.nextButton).length && (f.nextButton = f.container.find(f.params.nextButton))), f.params.prevButton && (f.prevButton = a(f.params.prevButton), f.params.uniqueNavElements && "string" == typeof f.params.prevButton && f.prevButton.length > 1 && 1 === f.container.find(f.params.prevButton).length && (f.prevButton = f.container.find(f.params.prevButton)))), f.isHorizontal = function() {
                                return "horizontal" === f.params.direction
                            }, f.rtl = f.isHorizontal() && ("rtl" === f.container[0].dir.toLowerCase() || "rtl" === f.container.css("direction")), f.rtl && f.classNames.push("".concat(f.params.containerModifierClass, "rtl")), f.rtl && (f.wrongRTL = "-webkit-box" === f.wrapper.css("display")), f.params.slidesPerColumn > 1 && f.classNames.push("".concat(f.params.containerModifierClass, "multirow")), f.device.android && f.classNames.push("".concat(f.params.containerModifierClass, "android")), f.container.addClass(f.classNames.join(" ")), f.translate = 0, f.progress = 0, f.velocity = 0, f.lockSwipeToNext = function() {
                                f.params.allowSwipeToNext = !1, !1 === f.params.allowSwipeToPrev && f.params.grabCursor && f.unsetGrabCursor()
                            }, f.lockSwipeToPrev = function() {
                                f.params.allowSwipeToPrev = !1, !1 === f.params.allowSwipeToNext && f.params.grabCursor && f.unsetGrabCursor()
                            }, f.lockSwipes = function() {
                                f.params.allowSwipeToNext = f.params.allowSwipeToPrev = !1, f.params.grabCursor && f.unsetGrabCursor()
                            }, f.unlockSwipeToNext = function() {
                                f.params.allowSwipeToNext = !0, !0 === f.params.allowSwipeToPrev && f.params.grabCursor && f.setGrabCursor()
                            }, f.unlockSwipeToPrev = function() {
                                f.params.allowSwipeToPrev = !0, !0 === f.params.allowSwipeToNext && f.params.grabCursor && f.setGrabCursor()
                            }, f.unlockSwipes = function() {
                                f.params.allowSwipeToNext = f.params.allowSwipeToPrev = !0, f.params.grabCursor && f.setGrabCursor()
                            }, f.setGrabCursor = function(t) {
                                f.container[0].style.cursor = "move", f.container[0].style.cursor = t ? "-webkit-grabbing" : "-webkit-grab", f.container[0].style.cursor = t ? "-moz-grabbin" : "-moz-grab", f.container[0].style.cursor = t ? "grabbing" : "grab"
                            }, f.unsetGrabCursor = function() {
                                f.container[0].style.cursor = ""
                            }, f.params.grabCursor && f.setGrabCursor(), f.imagesToLoad = [], f.imagesLoaded = 0, f.loadImage = function(t, e, a, i, r, s) {
                                var n;

                                function o() {
                                    s && s()
                                }
                                t.complete && r ? o() : e ? ((n = new window.Image).onload = o, n.onerror = o, i && (n.sizes = i), a && (n.srcset = a), e && (n.src = e)) : o()
                            }, f.preloadImages = function() {
                                function t() {
                                    null != f && f && (void 0 !== f.imagesLoaded && f.imagesLoaded++, f.imagesLoaded === f.imagesToLoad.length && (f.params.updateOnImagesReady && f.update(), f.emit("onImagesReady", f)))
                                }
                                f.imagesToLoad = f.container.find("img");
                                for (var e = 0; e < f.imagesToLoad.length; e++) f.loadImage(f.imagesToLoad[e], f.imagesToLoad[e].currentSrc || f.imagesToLoad[e].getAttribute("src"), f.imagesToLoad[e].srcset || f.imagesToLoad[e].getAttribute("srcset"), f.imagesToLoad[e].sizes || f.imagesToLoad[e].getAttribute("sizes"), !0, t)
                            }, f.autoplayTimeoutId = void 0, f.autoplaying = !1, f.autoplayPaused = !1, f.startAutoplay = function() {
                                return void 0 === f.autoplayTimeoutId && (!!f.params.autoplay && (!f.autoplaying && (f.autoplaying = !0, f.emit("onAutoplayStart", f), void B())))
                            }, f.stopAutoplay = function(t) {
                                f.autoplayTimeoutId && (f.autoplayTimeoutId && clearTimeout(f.autoplayTimeoutId), f.autoplaying = !1, f.autoplayTimeoutId = void 0, f.emit("onAutoplayStop", f))
                            }, f.pauseAutoplay = function(t) {
                                f.autoplayPaused || (f.autoplayTimeoutId && clearTimeout(f.autoplayTimeoutId), f.autoplayPaused = !0, 0 === t ? (f.autoplayPaused = !1, B()) : f.wrapper.transitionEnd((function() {
                                    f && (f.autoplayPaused = !1, f.autoplaying ? B() : f.stopAutoplay())
                                })))
                            }, f.minTranslate = function() {
                                return -f.snapGrid[0]
                            }, f.maxTranslate = function() {
                                return -f.snapGrid[f.snapGrid.length - 1]
                            }, f.updateAutoHeight = function() {
                                var t, e = [],
                                    a = 0;
                                if ("auto" !== f.params.slidesPerView && f.params.slidesPerView > 1)
                                    for (t = 0; t < Math.ceil(f.params.slidesPerView); t++) {
                                        var i = f.activeIndex + t;
                                        if (i > f.slides.length) break;
                                        e.push(f.slides.eq(i)[0])
                                    } else e.push(f.slides.eq(f.activeIndex)[0]);
                                for (t = 0; t < e.length; t++)
                                    if (void 0 !== e[t]) {
                                        var r = e[t].offsetHeight;
                                        a = r > a ? r : a
                                    }
                                a && f.wrapper.css("height", "".concat(a, "px"))
                            }, f.updateContainerSize = function() {
                                var t, e;
                                t = void 0 !== f.params.width ? f.params.width : f.container[0].clientWidth, e = void 0 !== f.params.height ? f.params.height : f.container[0].clientHeight, 0 === t && f.isHorizontal() || 0 === e && !f.isHorizontal() || (t = t - parseInt(f.container.css("padding-left"), 10) - parseInt(f.container.css("padding-right"), 10), e = e - parseInt(f.container.css("padding-top"), 10) - parseInt(f.container.css("padding-bottom"), 10), f.width = t, f.height = e, f.size = f.isHorizontal() ? f.width : f.height)
                            }, f.updateSlidesSize = function() {
                                f.slides = f.wrapper.children(".".concat(f.params.slideClass)), f.snapGrid = [], f.slidesGrid = [], f.slidesSizesGrid = [];
                                var t, e = f.params.spaceBetween,
                                    a = -f.params.slidesOffsetBefore,
                                    i = 0,
                                    r = 0;
                                if (void 0 !== f.size) {
                                    var s, n;
                                    "string" == typeof e && e.indexOf("%") >= 0 && (e = parseFloat(e.replace("%", "")) / 100 * f.size), f.virtualSize = -e, f.rtl ? f.slides.css({
                                        marginLeft: "",
                                        marginTop: ""
                                    }) : f.slides.css({
                                        marginRight: "",
                                        marginBottom: ""
                                    }), f.params.slidesPerColumn > 1 && (s = Math.floor(f.slides.length / f.params.slidesPerColumn) === f.slides.length / f.params.slidesPerColumn ? f.slides.length : Math.ceil(f.slides.length / f.params.slidesPerColumn) * f.params.slidesPerColumn, "auto" !== f.params.slidesPerView && "row" === f.params.slidesPerColumnFill && (s = Math.max(s, f.params.slidesPerView * f.params.slidesPerColumn)));
                                    var o, l = f.params.slidesPerColumn,
                                        h = s / l,
                                        p = h - (f.params.slidesPerColumn * h - f.slides.length);
                                    for (t = 0; t < f.slides.length; t++) {
                                        n = 0;
                                        var c, m, d, u = f.slides.eq(t);
                                        if (f.params.slidesPerColumn > 1) "column" === f.params.slidesPerColumnFill ? (d = t - (m = Math.floor(t / l)) * l, (m > p || m === p && d === l - 1) && ++d >= l && (d = 0, m++), c = m + d * s / l, u.css({
                                            "-webkit-box-ordinal-group": c,
                                            "-moz-box-ordinal-group": c,
                                            "-ms-flex-order": c,
                                            "-webkit-order": c,
                                            order: c
                                        })) : m = t - (d = Math.floor(t / h)) * h, u.css("margin-".concat(f.isHorizontal() ? "top" : "left"), 0 !== d && f.params.spaceBetween && "".concat(f.params.spaceBetween, "px")).attr("data-swiper-column", m).attr("data-swiper-row", d);
                                        "none" !== u.css("display") && ("auto" === f.params.slidesPerView ? (n = f.isHorizontal() ? u.outerWidth(!0) : u.outerHeight(!0), f.params.roundLengths && (n = I(n))) : (n = (f.size - (f.params.slidesPerView - 1) * e) / f.params.slidesPerView, f.params.roundLengths && (n = I(n)), f.isHorizontal() ? f.slides[t].style.width = "".concat(n, "px") : f.slides[t].style.height = "".concat(n, "px")), f.slides[t].swiperSlideSize = n, f.slidesSizesGrid.push(n), f.params.centeredSlides ? (a = a + n / 2 + i / 2 + e, 0 === i && 0 !== t && (a = a - f.size / 2 - e), 0 === t && (a = a - f.size / 2 - e), Math.abs(a) < .001 && (a = 0), r % f.params.slidesPerGroup == 0 && f.snapGrid.push(a), f.slidesGrid.push(a)) : (r % f.params.slidesPerGroup == 0 && f.snapGrid.push(a), f.slidesGrid.push(a), a = a + n + e), f.virtualSize += n + e, i = n, r++)
                                    }
                                    if (f.virtualSize = Math.max(f.virtualSize, f.size) + f.params.slidesOffsetAfter, f.rtl && f.wrongRTL && ("slide" === f.params.effect || "coverflow" === f.params.effect) && f.wrapper.css({
                                        width: "".concat(f.virtualSize + f.params.spaceBetween, "px")
                                    }), f.support.flexbox && !f.params.setWrapperSize || (f.isHorizontal() ? f.wrapper.css({
                                        width: "".concat(f.virtualSize + f.params.spaceBetween, "px")
                                    }) : f.wrapper.css({
                                        height: "".concat(f.virtualSize + f.params.spaceBetween, "px")
                                    })), f.params.slidesPerColumn > 1 && (f.virtualSize = (n + f.params.spaceBetween) * s, f.virtualSize = Math.ceil(f.virtualSize / f.params.slidesPerColumn) - f.params.spaceBetween, f.isHorizontal() ? f.wrapper.css({
                                        width: "".concat(f.virtualSize + f.params.spaceBetween, "px")
                                    }) : f.wrapper.css({
                                        height: "".concat(f.virtualSize + f.params.spaceBetween, "px")
                                    }), f.params.centeredSlides)) {
                                        for (o = [], t = 0; t < f.snapGrid.length; t++) f.snapGrid[t] < f.virtualSize + f.snapGrid[0] && o.push(f.snapGrid[t]);
                                        f.snapGrid = o
                                    }
                                    if (!f.params.centeredSlides) {
                                        for (o = [], t = 0; t < f.snapGrid.length; t++) f.snapGrid[t] <= f.virtualSize - f.size && o.push(f.snapGrid[t]);
                                        f.snapGrid = o, Math.floor(f.virtualSize - f.size) - Math.floor(f.snapGrid[f.snapGrid.length - 1]) > 1 && f.snapGrid.push(f.virtualSize - f.size)
                                    }
                                    0 === f.snapGrid.length && (f.snapGrid = [0]), 0 !== f.params.spaceBetween && (f.isHorizontal() ? f.rtl ? f.slides.css({
                                        marginLeft: "".concat(e, "px")
                                    }) : f.slides.css({
                                        marginRight: "".concat(e, "px")
                                    }) : f.slides.css({
                                        marginBottom: "".concat(e, "px")
                                    })), f.params.watchSlidesProgress && f.updateSlidesOffset()
                                }
                            }, f.updateSlidesOffset = function() {
                                for (var t = 0; t < f.slides.length; t++) f.slides[t].swiperSlideOffset = f.isHorizontal() ? f.slides[t].offsetLeft : f.slides[t].offsetTop
                            }, f.currentSlidesPerView = function() {
                                var t, e, a = 1;
                                if (f.params.centeredSlides) {
                                    var i, r = f.slides[f.activeIndex].swiperSlideSize;
                                    for (t = f.activeIndex + 1; t < f.slides.length; t++) f.slides[t] && !i && (a++, (r += f.slides[t].swiperSlideSize) > f.size && (i = !0));
                                    for (e = f.activeIndex - 1; e >= 0; e--) f.slides[e] && !i && (a++, (r += f.slides[e].swiperSlideSize) > f.size && (i = !0))
                                } else
                                    for (t = f.activeIndex + 1; t < f.slides.length; t++) f.slidesGrid[t] - f.slidesGrid[f.activeIndex] < f.size && a++;
                                return a
                            }, f.updateSlidesProgress = function(t) {
                                if (void 0 === t && (t = f.translate || 0), 0 !== f.slides.length) {
                                    void 0 === f.slides[0].swiperSlideOffset && f.updateSlidesOffset();
                                    var e = -t;
                                    f.rtl && (e = t), f.slides.removeClass(f.params.slideVisibleClass);
                                    for (var a = 0; a < f.slides.length; a++) {
                                        var i = f.slides[a],
                                            r = (e + (f.params.centeredSlides ? f.minTranslate() : 0) - i.swiperSlideOffset) / (i.swiperSlideSize + f.params.spaceBetween);
                                        if (f.params.watchSlidesVisibility) {
                                            var s = -(e - i.swiperSlideOffset),
                                                n = s + f.slidesSizesGrid[a];
                                            (s >= 0 && s < f.size || n > 0 && n <= f.size || s <= 0 && n >= f.size) && f.slides.eq(a).addClass(f.params.slideVisibleClass)
                                        }
                                        i.progress = f.rtl ? -r : r
                                    }
                                }
                            }, f.updateProgress = function(t) {
                                void 0 === t && (t = f.translate || 0);
                                var e = f.maxTranslate() - f.minTranslate(),
                                    a = f.isBeginning,
                                    i = f.isEnd;
                                0 === e ? (f.progress = 0, f.isBeginning = f.isEnd = !0) : (f.progress = (t - f.minTranslate()) / e, f.isBeginning = f.progress <= 0, f.isEnd = f.progress >= 1), f.isBeginning && !a && f.emit("onReachBeginning", f), f.isEnd && !i && f.emit("onReachEnd", f), f.params.watchSlidesProgress && f.updateSlidesProgress(t), f.emit("onProgress", f, f.progress)
                            }, f.updateActiveIndex = function() {
                                var t, e, a, i = f.rtl ? f.translate : -f.translate;
                                for (e = 0; e < f.slidesGrid.length; e++) void 0 !== f.slidesGrid[e + 1] ? i >= f.slidesGrid[e] && i < f.slidesGrid[e + 1] - (f.slidesGrid[e + 1] - f.slidesGrid[e]) / 2 ? t = e : i >= f.slidesGrid[e] && i < f.slidesGrid[e + 1] && (t = e + 1) : i >= f.slidesGrid[e] && (t = e);
                                f.params.normalizeSlideIndex && (t < 0 || void 0 === t) && (t = 0), (a = Math.floor(t / f.params.slidesPerGroup)) >= f.snapGrid.length && (a = f.snapGrid.length - 1), t !== f.activeIndex && (f.snapIndex = a, f.previousIndex = f.activeIndex, f.activeIndex = t, f.updateClasses(), f.updateRealIndex())
                            }, f.updateRealIndex = function() {
                                f.realIndex = parseInt(f.slides.eq(f.activeIndex).attr("data-swiper-slide-index") || f.activeIndex, 10)
                            }, f.updateClasses = function() {
                                f.slides.removeClass("".concat(f.params.slideActiveClass, " ").concat(f.params.slideNextClass, " ").concat(f.params.slidePrevClass, " ").concat(f.params.slideDuplicateActiveClass, " ").concat(f.params.slideDuplicateNextClass, " ").concat(f.params.slideDuplicatePrevClass));
                                var t = f.slides.eq(f.activeIndex);
                                t.addClass(f.params.slideActiveClass), n.loop && (t.hasClass(f.params.slideDuplicateClass) ? f.wrapper.children(".".concat(f.params.slideClass, ":not(.").concat(f.params.slideDuplicateClass, ')[data-swiper-slide-index="').concat(f.realIndex, '"]')).addClass(f.params.slideDuplicateActiveClass) : f.wrapper.children(".".concat(f.params.slideClass, ".").concat(f.params.slideDuplicateClass, '[data-swiper-slide-index="').concat(f.realIndex, '"]')).addClass(f.params.slideDuplicateActiveClass));
                                var e = t.next(".".concat(f.params.slideClass)).addClass(f.params.slideNextClass);
                                f.params.loop && 0 === e.length && (e = f.slides.eq(0)).addClass(f.params.slideNextClass);
                                var i = t.prev(".".concat(f.params.slideClass)).addClass(f.params.slidePrevClass);
                                if (f.params.loop && 0 === i.length && (i = f.slides.eq(-1)).addClass(f.params.slidePrevClass), n.loop && (e.hasClass(f.params.slideDuplicateClass) ? f.wrapper.children(".".concat(f.params.slideClass, ":not(.").concat(f.params.slideDuplicateClass, ')[data-swiper-slide-index="').concat(e.attr("data-swiper-slide-index"), '"]')).addClass(f.params.slideDuplicateNextClass) : f.wrapper.children(".".concat(f.params.slideClass, ".").concat(f.params.slideDuplicateClass, '[data-swiper-slide-index="').concat(e.attr("data-swiper-slide-index"), '"]')).addClass(f.params.slideDuplicateNextClass), i.hasClass(f.params.slideDuplicateClass) ? f.wrapper.children(".".concat(f.params.slideClass, ":not(.").concat(f.params.slideDuplicateClass, ')[data-swiper-slide-index="').concat(i.attr("data-swiper-slide-index"), '"]')).addClass(f.params.slideDuplicatePrevClass) : f.wrapper.children(".".concat(f.params.slideClass, ".").concat(f.params.slideDuplicateClass, '[data-swiper-slide-index="').concat(i.attr("data-swiper-slide-index"), '"]')).addClass(f.params.slideDuplicatePrevClass)), f.paginationContainer && f.paginationContainer.length > 0) {
                                    var r, s = f.params.loop ? Math.ceil((f.slides.length - 2 * f.loopedSlides) / f.params.slidesPerGroup) : f.snapGrid.length;
                                    if (f.params.loop ? ((r = Math.ceil((f.activeIndex - f.loopedSlides) / f.params.slidesPerGroup)) > f.slides.length - 1 - 2 * f.loopedSlides && (r -= f.slides.length - 2 * f.loopedSlides), r > s - 1 && (r -= s), r < 0 && "bullets" !== f.params.paginationType && (r = s + r)) : r = void 0 !== f.snapIndex ? f.snapIndex : f.activeIndex || 0, "bullets" === f.params.paginationType && f.bullets && f.bullets.length > 0 && (f.bullets.removeClass(f.params.bulletActiveClass), f.paginationContainer.length > 1 ? f.bullets.each((function() {
                                        a(this).index() === r && a(this).addClass(f.params.bulletActiveClass)
                                    })) : f.bullets.eq(r).addClass(f.params.bulletActiveClass)), "fraction" === f.params.paginationType && (f.paginationContainer.find(".".concat(f.params.paginationCurrentClass)).text(r + 1), f.paginationContainer.find(".".concat(f.params.paginationTotalClass)).text(s)), "progress" === f.params.paginationType) {
                                        var o = (r + 1) / s,
                                            l = o,
                                            h = 1;
                                        f.isHorizontal() || (h = o, l = 1), f.paginationContainer.find(".".concat(f.params.paginationProgressbarClass)).transform("translate3d(0,0,0) scaleX(".concat(l, ") scaleY(").concat(h, ")")).transition(f.params.speed)
                                    }
                                    "custom" === f.params.paginationType && f.params.paginationCustomRender && (f.paginationContainer.html(f.params.paginationCustomRender(f, r + 1, s)), f.emit("onPaginationRendered", f, f.paginationContainer[0]))
                                }
                                f.params.loop || (f.params.prevButton && f.prevButton && f.prevButton.length > 0 && (f.isBeginning ? (f.prevButton.addClass(f.params.buttonDisabledClass), f.params.a11y && f.a11y && f.a11y.disable(f.prevButton)) : (f.prevButton.removeClass(f.params.buttonDisabledClass), f.params.a11y && f.a11y && f.a11y.enable(f.prevButton))), f.params.nextButton && f.nextButton && f.nextButton.length > 0 && (f.isEnd ? (f.nextButton.addClass(f.params.buttonDisabledClass), f.params.a11y && f.a11y && f.a11y.disable(f.nextButton)) : (f.nextButton.removeClass(f.params.buttonDisabledClass), f.params.a11y && f.a11y && f.a11y.enable(f.nextButton))))
                            }, f.updatePagination = function() {
                                if (f.params.pagination && f.paginationContainer && f.paginationContainer.length > 0) {
                                    var t = "";
                                    if ("bullets" === f.params.paginationType) {
                                        for (var e = f.params.loop ? Math.ceil((f.slides.length - 2 * f.loopedSlides) / f.params.slidesPerGroup) : f.snapGrid.length, a = 0; a < e; a++) f.params.paginationBulletRender ? t += f.params.paginationBulletRender(f, a, f.params.bulletClass) : t += "<".concat(f.params.paginationElement, ' class="').concat(f.params.bulletClass, '"></').concat(f.params.paginationElement, ">");
                                        f.paginationContainer.html(t), f.bullets = f.paginationContainer.find(".".concat(f.params.bulletClass)), f.params.paginationClickable && f.params.a11y && f.a11y && f.a11y.initPagination()
                                    }
                                    "fraction" === f.params.paginationType && (t = f.params.paginationFractionRender ? f.params.paginationFractionRender(f, f.params.paginationCurrentClass, f.params.paginationTotalClass) : '<span class="'.concat(f.params.paginationCurrentClass, '"></span>') + " / " + '<span class="'.concat(f.params.paginationTotalClass, '"></span>'), f.paginationContainer.html(t)), "progress" === f.params.paginationType && (t = f.params.paginationProgressRender ? f.params.paginationProgressRender(f, f.params.paginationProgressbarClass) : '<span class="'.concat(f.params.paginationProgressbarClass, '"></span>'), f.paginationContainer.html(t)), "custom" !== f.params.paginationType && f.emit("onPaginationRendered", f, f.paginationContainer[0])
                                }
                            }, f.update = function(t) {
                                var e;
                                f && (f.updateContainerSize(), f.updateSlidesSize(), f.updateProgress(), f.updatePagination(), f.updateClasses(), f.params.scrollbar && f.scrollbar && f.scrollbar.set(), t ? (f.controller && f.controller.spline && (f.controller.spline = void 0), f.params.freeMode ? (a(), f.params.autoHeight && f.updateAutoHeight()) : (("auto" === f.params.slidesPerView || f.params.slidesPerView > 1) && f.isEnd && !f.params.centeredSlides ? f.slideTo(f.slides.length - 1, 0, !1, !0) : f.slideTo(f.activeIndex, 0, !1, !0)) || a()) : f.params.autoHeight && f.updateAutoHeight());

                                function a() {
                                    f.rtl, f.translate;
                                    e = Math.min(Math.max(f.translate, f.maxTranslate()), f.minTranslate()), f.setWrapperTranslate(e), f.updateActiveIndex(), f.updateClasses()
                                }
                            }, f.onResize = function(t) {
                                f.params.onBeforeResize && f.params.onBeforeResize(f), f.params.breakpoints && f.setBreakpoint();
                                var e = f.params.allowSwipeToPrev,
                                    a = f.params.allowSwipeToNext;
                                f.params.allowSwipeToPrev = f.params.allowSwipeToNext = !0, f.updateContainerSize(), f.updateSlidesSize(), ("auto" === f.params.slidesPerView || f.params.freeMode || t) && f.updatePagination(), f.params.scrollbar && f.scrollbar && f.scrollbar.set(), f.controller && f.controller.spline && (f.controller.spline = void 0);
                                var i = !1;
                                if (f.params.freeMode) {
                                    var r = Math.min(Math.max(f.translate, f.maxTranslate()), f.minTranslate());
                                    f.setWrapperTranslate(r), f.updateActiveIndex(), f.updateClasses(), f.params.autoHeight && f.updateAutoHeight()
                                } else f.updateClasses(), i = ("auto" === f.params.slidesPerView || f.params.slidesPerView > 1) && f.isEnd && !f.params.centeredSlides ? f.slideTo(f.slides.length - 1, 0, !1, !0) : f.slideTo(f.activeIndex, 0, !1, !0);
                                f.params.lazyLoading && !i && f.lazy && f.lazy.load(), f.params.allowSwipeToPrev = e, f.params.allowSwipeToNext = a, f.params.onAfterResize && f.params.onAfterResize(f)
                            }, f.touchEventsDesktop = {
                                start: "mousedown",
                                move: "mousemove",
                                end: "mouseup"
                            }, window.navigator.pointerEnabled ? f.touchEventsDesktop = {
                                start: "pointerdown",
                                move: "pointermove",
                                end: "pointerup"
                            } : window.navigator.msPointerEnabled && (f.touchEventsDesktop = {
                                start: "MSPointerDown",
                                move: "MSPointerMove",
                                end: "MSPointerUp"
                            }), f.touchEvents = {
                                start: f.support.touch || !f.params.simulateTouch ? "touchstart" : f.touchEventsDesktop.start,
                                move: f.support.touch || !f.params.simulateTouch ? "touchmove" : f.touchEventsDesktop.move,
                                end: f.support.touch || !f.params.simulateTouch ? "touchend" : f.touchEventsDesktop.end
                            }, (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && ("container" === f.params.touchEventsTarget ? f.container : f.wrapper).addClass("swiper-wp8-".concat(f.params.direction)), f.initEvents = function(t) {
                                var e = t ? "off" : "on",
                                    a = t ? "removeEventListener" : "addEventListener",
                                    i = "container" === f.params.touchEventsTarget ? f.container[0] : f.wrapper[0],
                                    r = f.support.touch ? i : document,
                                    s = !!f.params.nested;
                                if (f.browser.ie) i[a](f.touchEvents.start, f.onTouchStart, !1), r[a](f.touchEvents.move, f.onTouchMove, s), r[a](f.touchEvents.end, f.onTouchEnd, !1);
                                else {
                                    if (f.support.touch) {
                                        var o = !("touchstart" !== f.touchEvents.start || !f.support.passiveListener || !f.params.passiveListeners) && {
                                            passive: !0,
                                            capture: !1
                                        };
                                        i[a](f.touchEvents.start, f.onTouchStart, o), i[a](f.touchEvents.move, f.onTouchMove, s), i[a](f.touchEvents.end, f.onTouchEnd, o)
                                    }(n.simulateTouch && !f.device.ios && !f.device.android || n.simulateTouch && !f.support.touch && f.device.ios) && (i[a]("mousedown", f.onTouchStart, !1), document[a]("mousemove", f.onTouchMove, s), document[a]("mouseup", f.onTouchEnd, !1))
                                }
                                window[a]("resize", f.onResize), f.params.nextButton && f.nextButton && f.nextButton.length > 0 && (f.nextButton[e]("click", f.onClickNext), f.params.a11y && f.a11y && f.nextButton[e]("keydown", f.a11y.onEnterKey)), f.params.prevButton && f.prevButton && f.prevButton.length > 0 && (f.prevButton[e]("click", f.onClickPrev), f.params.a11y && f.a11y && f.prevButton[e]("keydown", f.a11y.onEnterKey)), f.params.pagination && f.params.paginationClickable && (f.paginationContainer[e]("click", ".".concat(f.params.bulletClass), f.onClickIndex), f.params.a11y && f.a11y && f.paginationContainer[e]("keydown", ".".concat(f.params.bulletClass), f.a11y.onEnterKey)), (f.params.preventClicks || f.params.preventClicksPropagation) && i[a]("click", f.preventClicks, !0)
                            }, f.attachEvents = function() {
                                f.initEvents()
                            }, f.detachEvents = function() {
                                f.initEvents(!0)
                            }, f.allowClick = !0, f.preventClicks = function(t) {
                                f.allowClick || (f.params.preventClicks && t.preventDefault(), f.params.preventClicksPropagation && f.animating && (t.stopPropagation(), t.stopImmediatePropagation()))
                            }, f.onClickNext = function(t) {
                                t.preventDefault(), f.isEnd && !f.params.loop || f.slideNext()
                            }, f.onClickPrev = function(t) {
                                t.preventDefault(), f.isBeginning && !f.params.loop || f.slidePrev()
                            }, f.onClickIndex = function(t) {
                                t.preventDefault();
                                var e = a(this).index() * f.params.slidesPerGroup;
                                f.params.loop && (e += f.loopedSlides), f.slideTo(e)
                            }, f.updateClickedSlide = function(t) {
                                var e = V(t, ".".concat(f.params.slideClass)),
                                    i = !1;
                                if (e)
                                    for (var r = 0; r < f.slides.length; r++) f.slides[r] === e && (i = !0);
                                if (!e || !i) return f.clickedSlide = void 0, void(f.clickedIndex = void 0);
                                if (f.clickedSlide = e, f.clickedIndex = a(e).index(), f.params.slideToClickedSlide && void 0 !== f.clickedIndex && f.clickedIndex !== f.activeIndex) {
                                    var s, n = f.clickedIndex,
                                        o = "auto" === f.params.slidesPerView ? f.currentSlidesPerView() : f.params.slidesPerView;
                                    if (f.params.loop) {
                                        if (f.animating) return;
                                        s = parseInt(a(f.clickedSlide).attr("data-swiper-slide-index"), 10), f.params.centeredSlides ? n < f.loopedSlides - o / 2 || n > f.slides.length - f.loopedSlides + o / 2 ? (f.fixLoop(), n = f.wrapper.children(".".concat(f.params.slideClass, '[data-swiper-slide-index="').concat(s, '"]:not(.').concat(f.params.slideDuplicateClass, ")")).eq(0).index(), setTimeout((function() {
                                            f.slideTo(n)
                                        }), 0)) : f.slideTo(n) : n > f.slides.length - o ? (f.fixLoop(), n = f.wrapper.children(".".concat(f.params.slideClass, '[data-swiper-slide-index="').concat(s, '"]:not(.').concat(f.params.slideDuplicateClass, ")")).eq(0).index(), setTimeout((function() {
                                            f.slideTo(n)
                                        }), 0)) : f.slideTo(n)
                                    } else f.slideTo(n)
                                }
                            };
                            var w, P, C, A, T = "input, select, textarea, button, video",
                                D = Date.now(),
                                M = [];
                            for (var _ in f.animating = !1, f.touches = {
                                startX: 0,
                                startY: 0,
                                currentX: 0,
                                currentY: 0,
                                diff: 0
                            }, f.onTouchStart = function(t) {
                                if (t.originalEvent && (t = t.originalEvent), (C = "touchstart" === t.type) || !("which" in t) || 3 !== t.which)
                                    if (f.params.noSwiping && V(t, ".".concat(f.params.noSwipingClass))) f.allowClick = !0;
                                    else if (!f.params.swipeHandler || V(t, f.params.swipeHandler)) {
                                    var e = f.touches.currentX = "touchstart" === t.type ? t.targetTouches[0].pageX : t.pageX,
                                        i = f.touches.currentY = "touchstart" === t.type ? t.targetTouches[0].pageY : t.pageY;
                                    if (!(f.device.ios && f.params.iOSEdgeSwipeDetection && e <= f.params.iOSEdgeSwipeThreshold)) {
                                        if (g = !0, y = !1, v = !0, k = void 0, A = void 0, f.touches.startX = e, f.touches.startY = i, x = Date.now(), f.allowClick = !0, f.updateContainerSize(), f.swipeDirection = void 0, f.params.threshold > 0 && (S = !1), "touchstart" !== t.type) {
                                            var r = !0;
                                            a(t.target).is(T) && (r = !1), document.activeElement && a(document.activeElement).is(T) && document.activeElement.blur(), r && t.preventDefault()
                                        }
                                        f.emit("onTouchStart", f, t)
                                    }
                                }
                            }, f.onTouchMove = function(t) {
                                if (t.originalEvent && (t = t.originalEvent), !C || "mousemove" !== t.type) {
                                    if (t.preventedByNestedSwiper) return f.touches.startX = "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX, void(f.touches.startY = "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY);
                                    if (f.params.onlyExternal) return f.allowClick = !1, void(g && (f.touches.startX = f.touches.currentX = "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX, f.touches.startY = f.touches.currentY = "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY, x = Date.now()));
                                    if (C && f.params.touchReleaseOnEdges && !f.params.loop)
                                        if (f.isHorizontal()) {
                                            if (f.touches.currentX < f.touches.startX && f.translate <= f.maxTranslate() || f.touches.currentX > f.touches.startX && f.translate >= f.minTranslate()) return
                                        } else if (f.touches.currentY < f.touches.startY && f.translate <= f.maxTranslate() || f.touches.currentY > f.touches.startY && f.translate >= f.minTranslate()) return;
                                    if (C && document.activeElement && t.target === document.activeElement && a(t.target).is(T)) return y = !0, void(f.allowClick = !1);
                                    if (v && f.emit("onTouchMove", f, t), !(t.targetTouches && t.targetTouches.length > 1)) {
                                        var e;
                                        if (f.touches.currentX = "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX, f.touches.currentY = "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY, void 0 === k) f.isHorizontal() && f.touches.currentY === f.touches.startY || !f.isHorizontal() && f.touches.currentX === f.touches.startX ? k = !1 : (e = 180 * Math.atan2(Math.abs(f.touches.currentY - f.touches.startY), Math.abs(f.touches.currentX - f.touches.startX)) / Math.PI, k = f.isHorizontal() ? e > f.params.touchAngle : 90 - e > f.params.touchAngle);
                                        if (k && f.emit("onTouchMoveOpposite", f, t), void 0 === A && (f.touches.currentX === f.touches.startX && f.touches.currentY === f.touches.startY || (A = !0)), g)
                                            if (k) g = !1;
                                            else if (A) {
                                            f.allowClick = !1, f.emit("onSliderMove", f, t), t.preventDefault(), f.params.touchMoveStopPropagation && !f.params.nested && t.stopPropagation(), y || (n.loop && f.fixLoop(), E = f.getWrapperTranslate(), f.setWrapperTransition(0), f.animating && f.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"), f.params.autoplay && f.autoplaying && (f.params.autoplayDisableOnInteraction ? f.stopAutoplay() : f.pauseAutoplay()), P = !1, !f.params.grabCursor || !0 !== f.params.allowSwipeToNext && !0 !== f.params.allowSwipeToPrev || f.setGrabCursor(!0)), y = !0;
                                            var i = f.touches.diff = f.isHorizontal() ? f.touches.currentX - f.touches.startX : f.touches.currentY - f.touches.startY;
                                            i *= f.params.touchRatio, f.rtl && (i = -i), f.swipeDirection = i > 0 ? "prev" : "next", b = i + E;
                                            var r = !0;
                                            if (i > 0 && b > f.minTranslate() ? (r = !1, f.params.resistance && (b = f.minTranslate() - 1 + Math.pow(-f.minTranslate() + E + i, f.params.resistanceRatio))) : i < 0 && b < f.maxTranslate() && (r = !1, f.params.resistance && (b = f.maxTranslate() + 1 - Math.pow(f.maxTranslate() - E - i, f.params.resistanceRatio))), r && (t.preventedByNestedSwiper = !0), !f.params.allowSwipeToNext && "next" === f.swipeDirection && b < E && (b = E), !f.params.allowSwipeToPrev && "prev" === f.swipeDirection && b > E && (b = E), f.params.threshold > 0) {
                                                if (!(Math.abs(i) > f.params.threshold || S)) return void(b = E);
                                                if (!S) return S = !0, f.touches.startX = f.touches.currentX, f.touches.startY = f.touches.currentY, b = E, void(f.touches.diff = f.isHorizontal() ? f.touches.currentX - f.touches.startX : f.touches.currentY - f.touches.startY)
                                            }
                                            f.params.followFinger && ((f.params.freeMode || f.params.watchSlidesProgress) && f.updateActiveIndex(), f.params.freeMode && (0 === M.length && M.push({
                                                position: f.touches[f.isHorizontal() ? "startX" : "startY"],
                                                time: x
                                            }), M.push({
                                                position: f.touches[f.isHorizontal() ? "currentX" : "currentY"],
                                                time: (new window.Date).getTime()
                                            })), f.updateProgress(b), f.setWrapperTranslate(b))
                                        }
                                    }
                                }
                            }, f.onTouchEnd = function(t) {
                                if (t.originalEvent && (t = t.originalEvent), v && f.emit("onTouchEnd", f, t), v = !1, g) {
                                    f.params.grabCursor && y && g && (!0 === f.params.allowSwipeToNext || !0 === f.params.allowSwipeToPrev) && f.setGrabCursor(!1);
                                    var e, i = Date.now(),
                                        r = i - x;
                                    if (f.allowClick && (f.updateClickedSlide(t), f.emit("onTap", f, t), r < 300 && i - D > 300 && (w && clearTimeout(w), w = setTimeout((function() {
                                        f && (f.params.paginationHide && f.paginationContainer.length > 0 && !a(t.target).hasClass(f.params.bulletClass) && f.paginationContainer.toggleClass(f.params.paginationHiddenClass), f.emit("onClick", f, t))
                                    }), 300)), r < 300 && i - D < 300 && (w && clearTimeout(w), f.emit("onDoubleTap", f, t))), D = Date.now(), setTimeout((function() {
                                        f && (f.allowClick = !0)
                                    }), 0), g && y && f.swipeDirection && 0 !== f.touches.diff && b !== E)
                                        if (g = y = !1, e = f.params.followFinger ? f.rtl ? f.translate : -f.translate : -b, f.params.freeMode) {
                                            if (e < -f.minTranslate()) return void f.slideTo(f.activeIndex);
                                            if (e > -f.maxTranslate()) return void(f.slides.length < f.snapGrid.length ? f.slideTo(f.snapGrid.length - 1) : f.slideTo(f.slides.length - 1));
                                            if (f.params.freeModeMomentum) {
                                                if (M.length > 1) {
                                                    var s = M.pop(),
                                                        n = M.pop(),
                                                        o = s.position - n.position,
                                                        l = s.time - n.time;
                                                    f.velocity = o / l, f.velocity /= 2, Math.abs(f.velocity) < f.params.freeModeMinimumVelocity && (f.velocity = 0), (l > 150 || (new window.Date).getTime() - s.time > 300) && (f.velocity = 0)
                                                } else f.velocity = 0;
                                                f.velocity *= f.params.freeModeMomentumVelocityRatio, M.length = 0;
                                                var h = 1e3 * f.params.freeModeMomentumRatio,
                                                    p = f.velocity * h,
                                                    c = f.translate + p;
                                                f.rtl && (c = -c);
                                                var m, d = !1,
                                                    u = 20 * Math.abs(f.velocity) * f.params.freeModeMomentumBounceRatio;
                                                if (c < f.maxTranslate()) f.params.freeModeMomentumBounce ? (c + f.maxTranslate() < -u && (c = f.maxTranslate() - u), m = f.maxTranslate(), d = !0, P = !0) : c = f.maxTranslate();
                                                else if (c > f.minTranslate()) f.params.freeModeMomentumBounce ? (c - f.minTranslate() > u && (c = f.minTranslate() + u), m = f.minTranslate(), d = !0, P = !0) : c = f.minTranslate();
                                                else if (f.params.freeModeSticky) {
                                                    var k, S = 0;
                                                    for (S = 0; S < f.snapGrid.length; S += 1)
                                                        if (f.snapGrid[S] > -c) {
                                                            k = S;
                                                            break
                                                        }
                                                    c = Math.abs(f.snapGrid[k] - c) < Math.abs(f.snapGrid[k - 1] - c) || "next" === f.swipeDirection ? f.snapGrid[k] : f.snapGrid[k - 1], f.rtl || (c = -c)
                                                }
                                                if (0 !== f.velocity) h = f.rtl ? Math.abs((-c - f.translate) / f.velocity) : Math.abs((c - f.translate) / f.velocity);
                                                else if (f.params.freeModeSticky) return void f.slideReset();
                                                f.params.freeModeMomentumBounce && d ? (f.updateProgress(m), f.setWrapperTransition(h), f.setWrapperTranslate(c), f.onTransitionStart(), f.animating = !0, f.wrapper.transitionEnd((function() {
                                                    f && P && (f.emit("onMomentumBounce", f), f.setWrapperTransition(f.params.speed), f.setWrapperTranslate(m), f.wrapper.transitionEnd((function() {
                                                        f && f.onTransitionEnd()
                                                    })))
                                                }))) : f.velocity ? (f.updateProgress(c), f.setWrapperTransition(h), f.setWrapperTranslate(c), f.onTransitionStart(), f.animating || (f.animating = !0, f.wrapper.transitionEnd((function() {
                                                    f && f.onTransitionEnd()
                                                })))) : f.updateProgress(c), f.updateActiveIndex()
                                            }(!f.params.freeModeMomentum || r >= f.params.longSwipesMs) && (f.updateProgress(), f.updateActiveIndex())
                                        } else {
                                            var C, A = 0,
                                                T = f.slidesSizesGrid[0];
                                            for (C = 0; C < f.slidesGrid.length; C += f.params.slidesPerGroup) void 0 !== f.slidesGrid[C + f.params.slidesPerGroup] ? e >= f.slidesGrid[C] && e < f.slidesGrid[C + f.params.slidesPerGroup] && (A = C, T = f.slidesGrid[C + f.params.slidesPerGroup] - f.slidesGrid[C]) : e >= f.slidesGrid[C] && (A = C, T = f.slidesGrid[f.slidesGrid.length - 1] - f.slidesGrid[f.slidesGrid.length - 2]);
                                            var _ = (e - f.slidesGrid[A]) / T;
                                            if (r > f.params.longSwipesMs) {
                                                if (!f.params.longSwipes) return void f.slideTo(f.activeIndex);
                                                "next" === f.swipeDirection && (_ >= f.params.longSwipesRatio ? f.slideTo(A + f.params.slidesPerGroup) : f.slideTo(A)), "prev" === f.swipeDirection && (_ > 1 - f.params.longSwipesRatio ? f.slideTo(A + f.params.slidesPerGroup) : f.slideTo(A))
                                            } else {
                                                if (!f.params.shortSwipes) return void f.slideTo(f.activeIndex);
                                                "next" === f.swipeDirection && f.slideTo(A + f.params.slidesPerGroup), "prev" === f.swipeDirection && f.slideTo(A)
                                            }
                                        } else g = y = !1
                                }
                            }, f._slideTo = function(t, e) {
                                return f.slideTo(t, e, !0, !0)
                            }, f.slideTo = function(t, e, a, i) {
                                void 0 === a && (a = !0), void 0 === t && (t = 0), t < 0 && (t = 0), f.snapIndex = Math.floor(t / f.params.slidesPerGroup), f.snapIndex >= f.snapGrid.length && (f.snapIndex = f.snapGrid.length - 1);
                                var r = -f.snapGrid[f.snapIndex];
                                if (f.params.autoplay && f.autoplaying && (i || !f.params.autoplayDisableOnInteraction ? f.pauseAutoplay(e) : f.stopAutoplay()), f.updateProgress(r), f.params.normalizeSlideIndex)
                                    for (var s = 0; s < f.slidesGrid.length; s++) - Math.floor(100 * r) >= Math.floor(100 * f.slidesGrid[s]) && (t = s);
                                return !(!f.params.allowSwipeToNext && r < f.translate && r < f.minTranslate()) && (!(!f.params.allowSwipeToPrev && r > f.translate && r > f.maxTranslate() && (f.activeIndex || 0) !== t) && (void 0 === e && (e = f.params.speed), f.previousIndex = f.activeIndex || 0, f.activeIndex = t, f.updateRealIndex(), f.rtl && -r === f.translate || !f.rtl && r === f.translate ? (f.params.autoHeight && f.updateAutoHeight(), f.updateClasses(), "slide" !== f.params.effect && f.setWrapperTranslate(r), !1) : (f.updateClasses(), f.onTransitionStart(a), 0 === e || f.browser.lteIE9 ? (f.setWrapperTranslate(r), f.setWrapperTransition(0), f.onTransitionEnd(a)) : (f.setWrapperTranslate(r), f.setWrapperTransition(e), f.animating || (f.animating = !0, f.wrapper.transitionEnd((function() {
                                    f && f.onTransitionEnd(a)
                                })))), !0)))
                            }, f.onTransitionStart = function(t) {
                                void 0 === t && (t = !0), f.params.autoHeight && f.updateAutoHeight(), f.lazy && f.lazy.onTransitionStart(), t && (f.emit("onTransitionStart", f), f.activeIndex !== f.previousIndex && (f.emit("onSlideChangeStart", f), f.activeIndex > f.previousIndex ? f.emit("onSlideNextStart", f) : f.emit("onSlidePrevStart", f)))
                            }, f.onTransitionEnd = function(t) {
                                f.animating = !1, f.setWrapperTransition(0), void 0 === t && (t = !0), f.lazy && f.lazy.onTransitionEnd(), t && (f.emit("onTransitionEnd", f), f.activeIndex !== f.previousIndex && (f.emit("onSlideChangeEnd", f), f.activeIndex > f.previousIndex ? f.emit("onSlideNextEnd", f) : f.emit("onSlidePrevEnd", f))), f.params.history && f.history && f.history.setHistory(f.params.history, f.activeIndex), f.params.hashnav && f.hashnav && f.hashnav.setHash()
                            }, f.slideNext = function(t, e, a) {
                                if (f.params.loop) {
                                    if (f.animating) return !1;
                                    f.fixLoop();
                                    f.container[0].clientLeft;
                                    return f.slideTo(f.activeIndex + f.params.slidesPerGroup, e, t, a)
                                }
                                return f.slideTo(f.activeIndex + f.params.slidesPerGroup, e, t, a)
                            }, f._slideNext = function(t) {
                                return f.slideNext(!0, t, !0)
                            }, f.slidePrev = function(t, e, a) {
                                if (f.params.loop) {
                                    if (f.animating) return !1;
                                    f.fixLoop();
                                    f.container[0].clientLeft;
                                    return f.slideTo(f.activeIndex - 1, e, t, a)
                                }
                                return f.slideTo(f.activeIndex - 1, e, t, a)
                            }, f._slidePrev = function(t) {
                                return f.slidePrev(!0, t, !0)
                            }, f.slideReset = function(t, e, a) {
                                return f.slideTo(f.activeIndex, e, t)
                            }, f.disableTouchControl = function() {
                                return f.params.onlyExternal = !0, !0
                            }, f.enableTouchControl = function() {
                                return f.params.onlyExternal = !1, !0
                            }, f.setWrapperTransition = function(t, e) {
                                f.wrapper.transition(t), "slide" !== f.params.effect && f.effects[f.params.effect] && f.effects[f.params.effect].setTransition(t), f.params.parallax && f.parallax && f.parallax.setTransition(t), f.params.scrollbar && f.scrollbar && f.scrollbar.setTransition(t), f.params.control && f.controller && f.controller.setTransition(t, e), f.emit("onSetTransition", f, t)
                            }, f.setWrapperTranslate = function(t, e, a) {
                                var i = 0,
                                    r = 0;
                                f.isHorizontal() ? i = f.rtl ? -t : t : r = t, f.params.roundLengths && (i = I(i), r = I(r)), f.params.virtualTranslate || (f.support.transforms3d ? f.wrapper.transform("translate3d(".concat(i, "px, ").concat(r, "px, ").concat(0, "px)")) : f.wrapper.transform("translate(".concat(i, "px, ").concat(r, "px)"))), f.translate = f.isHorizontal() ? i : r;
                                var s = f.maxTranslate() - f.minTranslate();
                                (0 === s ? 0 : (t - f.minTranslate()) / s) !== f.progress && f.updateProgress(t), e && f.updateActiveIndex(), "slide" !== f.params.effect && f.effects[f.params.effect] && f.effects[f.params.effect].setTranslate(f.translate), f.params.parallax && f.parallax && f.parallax.setTranslate(f.translate), f.params.scrollbar && f.scrollbar && f.scrollbar.setTranslate(f.translate), f.params.control && f.controller && f.controller.setTranslate(f.translate, a), f.emit("onSetTranslate", f, f.translate)
                            }, f.getTranslate = function(t, e) {
                                var a, i, r, s;
                                return void 0 === e && (e = "x"), f.params.virtualTranslate ? f.rtl ? -f.translate : f.translate : (r = window.getComputedStyle(t, null), window.WebKitCSSMatrix ? ((i = r.transform || r.webkitTransform).split(",").length > 6 && (i = i.split(", ").map((function(t) {
                                    return t.replace(",", ".")
                                })).join(", ")), s = new window.WebKitCSSMatrix("none" === i ? "" : i)) : a = (s = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === e && (i = window.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === e && (i = window.WebKitCSSMatrix ? s.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), f.rtl && i && (i = -i), i || 0)
                            }, f.getWrapperTranslate = function(t) {
                                return void 0 === t && (t = f.isHorizontal() ? "x" : "y"), f.getTranslate(f.wrapper[0], t)
                            }, f.observers = [], f.initObservers = function() {
                                if (f.params.observeParents)
                                    for (var t = f.container.parents(), e = 0; e < t.length; e++) G(t[e]);
                                G(f.container[0], {
                                    childList: !1
                                }), G(f.wrapper[0], {
                                    attributes: !1
                                })
                            }, f.disconnectObservers = function() {
                                for (var t = 0; t < f.observers.length; t++) f.observers[t].disconnect();
                                f.observers = []
                            }, f.createLoop = function() {
                                f.wrapper.children(".".concat(f.params.slideClass, ".").concat(f.params.slideDuplicateClass)).remove();
                                var t = f.wrapper.children(".".concat(f.params.slideClass));
                                "auto" !== f.params.slidesPerView || f.params.loopedSlides || (f.params.loopedSlides = t.length), f.loopedSlides = parseInt(f.params.loopedSlides || f.params.slidesPerView, 10), f.loopedSlides += f.params.loopAdditionalSlides, f.loopedSlides > t.length && (f.loopedSlides = t.length);
                                var e, i = [],
                                    r = [];
                                for (t.each((function(e, s) {
                                    var n = a(this);
                                    e < f.loopedSlides && r.push(s), e < t.length && e >= t.length - f.loopedSlides && i.push(s), n.attr("data-swiper-slide-index", e)
                                })), e = 0; e < r.length; e++) f.wrapper.append(a(r[e].cloneNode(!0)).addClass(f.params.slideDuplicateClass));
                                for (e = i.length - 1; e >= 0; e--) f.wrapper.prepend(a(i[e].cloneNode(!0)).addClass(f.params.slideDuplicateClass))
                            }, f.destroyLoop = function() {
                                f.wrapper.children(".".concat(f.params.slideClass, ".").concat(f.params.slideDuplicateClass)).remove(), f.slides.removeAttr("data-swiper-slide-index")
                            }, f.reLoop = function(t) {
                                var e = f.activeIndex - f.loopedSlides;
                                f.destroyLoop(), f.createLoop(), f.updateSlidesSize(), t && f.slideTo(e + f.loopedSlides, 0, !1)
                            }, f.fixLoop = function() {
                                var t;
                                f.activeIndex < f.loopedSlides ? (t = f.slides.length - 3 * f.loopedSlides + f.activeIndex, t += f.loopedSlides, f.slideTo(t, 0, !1, !0)) : ("auto" === f.params.slidesPerView && f.activeIndex >= 2 * f.loopedSlides || f.activeIndex > f.slides.length - 2 * f.params.slidesPerView) && (t = -f.slides.length + f.activeIndex + f.loopedSlides, t += f.loopedSlides, f.slideTo(t, 0, !1, !0))
                            }, f.appendSlide = function(t) {
                                if (f.params.loop && f.destroyLoop(), "object" === i(t) && t.length)
                                    for (var e = 0; e < t.length; e++) t[e] && f.wrapper.append(t[e]);
                                else f.wrapper.append(t);
                                f.params.loop && f.createLoop(), f.params.observer && f.support.observer || f.update(!0)
                            }, f.prependSlide = function(t) {
                                f.params.loop && f.destroyLoop();
                                var e = f.activeIndex + 1;
                                if ("object" === i(t) && t.length) {
                                    for (var a = 0; a < t.length; a++) t[a] && f.wrapper.prepend(t[a]);
                                    e = f.activeIndex + t.length
                                } else f.wrapper.prepend(t);
                                f.params.loop && f.createLoop(), f.params.observer && f.support.observer || f.update(!0), f.slideTo(e, 0, !1)
                            }, f.removeSlide = function(t) {
                                f.params.loop && (f.destroyLoop(), f.slides = f.wrapper.children(".".concat(f.params.slideClass)));
                                var e, a = f.activeIndex;
                                if ("object" === i(t) && t.length) {
                                    for (var r = 0; r < t.length; r++) e = t[r], f.slides[e] && f.slides.eq(e).remove(), e < a && a--;
                                    a = Math.max(a, 0)
                                } else e = t, f.slides[e] && f.slides.eq(e).remove(), e < a && a--, a = Math.max(a, 0);
                                f.params.loop && f.createLoop(), f.params.observer && f.support.observer || f.update(!0), f.params.loop ? f.slideTo(a + f.loopedSlides, 0, !1) : f.slideTo(a, 0, !1)
                            }, f.removeAllSlides = function() {
                                for (var t = [], e = 0; e < f.slides.length; e++) t.push(e);
                                f.removeSlide(t)
                            }, f.effects = {
                                fade: {
                                    setTranslate: function() {
                                        for (var t = 0; t < f.slides.length; t++) {
                                            var e = f.slides.eq(t),
                                                a = -e[0].swiperSlideOffset;
                                            f.params.virtualTranslate || (a -= f.translate);
                                            var i = 0;
                                            f.isHorizontal() || (i = a, a = 0);
                                            var r = f.params.fade.crossFade ? Math.max(1 - Math.abs(e[0].progress), 0) : 1 + Math.min(Math.max(e[0].progress, -1), 0);
                                            e.css({
                                                opacity: r
                                            }).transform("translate3d(".concat(a, "px, ").concat(i, "px, 0px)"))
                                        }
                                    },
                                    setTransition: function(t) {
                                        if (f.slides.transition(t), f.params.virtualTranslate && 0 !== t) {
                                            var e = !1;
                                            f.slides.transitionEnd((function() {
                                                if (!e && f) {
                                                    e = !0, f.animating = !1;
                                                    for (var t = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], a = 0; a < t.length; a++) f.wrapper.trigger(t[a])
                                                }
                                            }))
                                        }
                                    }
                                },
                                flip: {
                                    setTranslate: function() {
                                        for (var t = 0; t < f.slides.length; t++) {
                                            var e = f.slides.eq(t),
                                                i = e[0].progress;
                                            f.params.flip.limitRotation && (i = Math.max(Math.min(e[0].progress, 1), -1));
                                            var r = -180 * i,
                                                s = 0,
                                                n = -e[0].swiperSlideOffset,
                                                o = 0;
                                            if (f.isHorizontal() ? f.rtl && (r = -r) : (o = n, n = 0, s = -r, r = 0), e[0].style.zIndex = -Math.abs(Math.round(i)) + f.slides.length, f.params.flip.slideShadows) {
                                                var l = f.isHorizontal() ? e.find(".swiper-slide-shadow-left") : e.find(".swiper-slide-shadow-top"),
                                                    h = f.isHorizontal() ? e.find(".swiper-slide-shadow-right") : e.find(".swiper-slide-shadow-bottom");
                                                0 === l.length && (l = a('<div class="swiper-slide-shadow-'.concat(f.isHorizontal() ? "left" : "top", '"></div>')), e.append(l)), 0 === h.length && (h = a('<div class="swiper-slide-shadow-'.concat(f.isHorizontal() ? "right" : "bottom", '"></div>')), e.append(h)), l.length && (l[0].style.opacity = Math.max(-i, 0)), h.length && (h[0].style.opacity = Math.max(i, 0))
                                            }
                                            e.transform("translate3d(".concat(n, "px, ").concat(o, "px, 0px) rotateX(").concat(s, "deg) rotateY(").concat(r, "deg)"))
                                        }
                                    },
                                    setTransition: function(t) {
                                        if (f.slides.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t), f.params.virtualTranslate && 0 !== t) {
                                            var e = !1;
                                            f.slides.eq(f.activeIndex).transitionEnd((function() {
                                                if (!e && f && a(this).hasClass(f.params.slideActiveClass)) {
                                                    e = !0, f.animating = !1;
                                                    for (var t = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], i = 0; i < t.length; i++) f.wrapper.trigger(t[i])
                                                }
                                            }))
                                        }
                                    }
                                },
                                cube: {
                                    setTranslate: function() {
                                        var t, e = 0;
                                        f.params.cube.shadow && (f.isHorizontal() ? (0 === (t = f.wrapper.find(".swiper-cube-shadow")).length && (t = a('<div class="swiper-cube-shadow"></div>'), f.wrapper.append(t)), t.css({
                                            height: "".concat(f.width, "px")
                                        })) : 0 === (t = f.container.find(".swiper-cube-shadow")).length && (t = a('<div class="swiper-cube-shadow"></div>'), f.container.append(t)));
                                        for (var i = 0; i < f.slides.length; i++) {
                                            var r = f.slides.eq(i),
                                                s = 90 * i,
                                                n = Math.floor(s / 360);
                                            f.rtl && (s = -s, n = Math.floor(-s / 360));
                                            var o = Math.max(Math.min(r[0].progress, 1), -1),
                                                l = 0,
                                                h = 0,
                                                p = 0;
                                            i % 4 == 0 ? (l = 4 * -n * f.size, p = 0) : (i - 1) % 4 == 0 ? (l = 0, p = 4 * -n * f.size) : (i - 2) % 4 == 0 ? (l = f.size + 4 * n * f.size, p = f.size) : (i - 3) % 4 == 0 && (l = -f.size, p = 3 * f.size + 4 * f.size * n), f.rtl && (l = -l), f.isHorizontal() || (h = l, l = 0);
                                            var c = "rotateX(".concat(f.isHorizontal() ? 0 : -s, "deg) rotateY(").concat(f.isHorizontal() ? s : 0, "deg) translate3d(").concat(l, "px, ").concat(h, "px, ").concat(p, "px)");
                                            if (o <= 1 && o > -1 && (e = 90 * i + 90 * o, f.rtl && (e = 90 * -i - 90 * o)), r.transform(c), f.params.cube.slideShadows) {
                                                var m = f.isHorizontal() ? r.find(".swiper-slide-shadow-left") : r.find(".swiper-slide-shadow-top"),
                                                    d = f.isHorizontal() ? r.find(".swiper-slide-shadow-right") : r.find(".swiper-slide-shadow-bottom");
                                                0 === m.length && (m = a('<div class="swiper-slide-shadow-'.concat(f.isHorizontal() ? "left" : "top", '"></div>')), r.append(m)), 0 === d.length && (d = a('<div class="swiper-slide-shadow-'.concat(f.isHorizontal() ? "right" : "bottom", '"></div>')), r.append(d)), m.length && (m[0].style.opacity = Math.max(-o, 0)), d.length && (d[0].style.opacity = Math.max(o, 0))
                                            }
                                        }
                                        if (f.wrapper.css({
                                            "-webkit-transform-origin": "50% 50% -".concat(f.size / 2, "px"),
                                            "-moz-transform-origin": "50% 50% -".concat(f.size / 2, "px"),
                                            "-ms-transform-origin": "50% 50% -".concat(f.size / 2, "px"),
                                            "transform-origin": "50% 50% -".concat(f.size / 2, "px")
                                        }), f.params.cube.shadow)
                                            if (f.isHorizontal()) t.transform("translate3d(0px, ".concat(f.width / 2 + f.params.cube.shadowOffset, "px, ").concat(-f.width / 2, "px) rotateX(90deg) rotateZ(0deg) scale(").concat(f.params.cube.shadowScale, ")"));
                                            else {
                                                var u = Math.abs(e) - 90 * Math.floor(Math.abs(e) / 90),
                                                    g = 1.5 - (Math.sin(2 * u * Math.PI / 360) / 2 + Math.cos(2 * u * Math.PI / 360) / 2),
                                                    y = f.params.cube.shadowScale,
                                                    v = f.params.cube.shadowScale / g,
                                                    x = f.params.cube.shadowOffset;
                                                t.transform("scale3d(".concat(y, ", 1, ").concat(v, ") translate3d(0px, ").concat(f.height / 2 + x, "px, ").concat(-f.height / 2 / v, "px) rotateX(-90deg)"))
                                            }
                                        var k = f.isSafari || f.isUiWebView ? -f.size / 2 : 0;
                                        f.wrapper.transform("translate3d(0px,0,".concat(k, "px) rotateX(").concat(f.isHorizontal() ? 0 : e, "deg) rotateY(").concat(f.isHorizontal() ? -e : 0, "deg)"))
                                    },
                                    setTransition: function(t) {
                                        f.slides.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t), f.params.cube.shadow && !f.isHorizontal() && f.container.find(".swiper-cube-shadow").transition(t)
                                    }
                                },
                                coverflow: {
                                    setTranslate: function() {
                                        for (var t = f.translate, e = f.isHorizontal() ? -t + f.width / 2 : -t + f.height / 2, i = f.isHorizontal() ? f.params.coverflow.rotate : -f.params.coverflow.rotate, r = f.params.coverflow.depth, s = 0, n = f.slides.length; s < n; s++) {
                                            var o = f.slides.eq(s),
                                                l = f.slidesSizesGrid[s],
                                                h = (e - o[0].swiperSlideOffset - l / 2) / l * f.params.coverflow.modifier,
                                                p = f.isHorizontal() ? i * h : 0,
                                                c = f.isHorizontal() ? 0 : i * h,
                                                m = -r * Math.abs(h),
                                                d = f.isHorizontal() ? 0 : f.params.coverflow.stretch * h,
                                                u = f.isHorizontal() ? f.params.coverflow.stretch * h : 0;
                                            Math.abs(u) < .001 && (u = 0), Math.abs(d) < .001 && (d = 0), Math.abs(m) < .001 && (m = 0), Math.abs(p) < .001 && (p = 0), Math.abs(c) < .001 && (c = 0);
                                            var g = "translate3d(".concat(u, "px,").concat(d, "px,").concat(m, "px)  rotateX(").concat(c, "deg) rotateY(").concat(p, "deg)");
                                            if (o.transform(g), o[0].style.zIndex = 1 - Math.abs(Math.round(h)), f.params.coverflow.slideShadows) {
                                                var y = f.isHorizontal() ? o.find(".swiper-slide-shadow-left") : o.find(".swiper-slide-shadow-top"),
                                                    v = f.isHorizontal() ? o.find(".swiper-slide-shadow-right") : o.find(".swiper-slide-shadow-bottom");
                                                0 === y.length && (y = a('<div class="swiper-slide-shadow-'.concat(f.isHorizontal() ? "left" : "top", '"></div>')), o.append(y)), 0 === v.length && (v = a('<div class="swiper-slide-shadow-'.concat(f.isHorizontal() ? "right" : "bottom", '"></div>')), o.append(v)), y.length && (y[0].style.opacity = h > 0 ? h : 0), v.length && (v[0].style.opacity = -h > 0 ? -h : 0)
                                            }
                                        }
                                        f.browser.ie && (f.wrapper[0].style.perspectiveOrigin = "".concat(e, "px 50%"))
                                    },
                                    setTransition: function(t) {
                                        f.slides.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t)
                                    }
                                }
                            }, f.lazy = {
                                initialImageLoaded: !1,
                                loadImageInSlide: function(t, e) {
                                    if (void 0 !== t && (void 0 === e && (e = !0), 0 !== f.slides.length)) {
                                        var i = f.slides.eq(t),
                                            r = i.find(".".concat(f.params.lazyLoadingClass, ":not(.").concat(f.params.lazyStatusLoadedClass, "):not(.").concat(f.params.lazyStatusLoadingClass, ")"));
                                        !i.hasClass(f.params.lazyLoadingClass) || i.hasClass(f.params.lazyStatusLoadedClass) || i.hasClass(f.params.lazyStatusLoadingClass) || (r = r.add(i[0])), 0 !== r.length && r.each((function() {
                                            var t = a(this);
                                            t.addClass(f.params.lazyStatusLoadingClass);
                                            var r = t.attr("data-background"),
                                                s = t.attr("data-src"),
                                                n = t.attr("data-srcset"),
                                                o = t.attr("data-sizes");
                                            f.loadImage(t[0], s || r, n, o, !1, (function() {
                                                if (null != f && f) {
                                                    if (r ? (t.css("background-image", 'url("'.concat(r, '")')), t.removeAttr("data-background")) : (n && (t.attr("srcset", n), t.removeAttr("data-srcset")), o && (t.attr("sizes", o), t.removeAttr("data-sizes")), s && (t.attr("src", s), t.removeAttr("data-src"))), t.addClass(f.params.lazyStatusLoadedClass).removeClass(f.params.lazyStatusLoadingClass), i.find(".".concat(f.params.lazyPreloaderClass, ", .").concat(f.params.preloaderClass)).remove(), f.params.loop && e) {
                                                        var a = i.attr("data-swiper-slide-index");
                                                        if (i.hasClass(f.params.slideDuplicateClass)) {
                                                            var l = f.wrapper.children('[data-swiper-slide-index="'.concat(a, '"]:not(.').concat(f.params.slideDuplicateClass, ")"));
                                                            f.lazy.loadImageInSlide(l.index(), !1)
                                                        } else {
                                                            var h = f.wrapper.children(".".concat(f.params.slideDuplicateClass, '[data-swiper-slide-index="').concat(a, '"]'));
                                                            f.lazy.loadImageInSlide(h.index(), !1)
                                                        }
                                                    }
                                                    f.emit("onLazyImageReady", f, i[0], t[0])
                                                }
                                            })), f.emit("onLazyImageLoad", f, i[0], t[0])
                                        }))
                                    }
                                },
                                load: function() {
                                    var t, e = f.params.slidesPerView;
                                    if ("auto" === e && (e = 0), f.lazy.initialImageLoaded || (f.lazy.initialImageLoaded = !0), f.params.watchSlidesVisibility) f.wrapper.children(".".concat(f.params.slideVisibleClass)).each((function() {
                                        f.lazy.loadImageInSlide(a(this).index())
                                    }));
                                    else if (e > 1)
                                        for (t = f.activeIndex; t < f.activeIndex + e; t++) f.slides[t] && f.lazy.loadImageInSlide(t);
                                    else f.lazy.loadImageInSlide(f.activeIndex); if (f.params.lazyLoadingInPrevNext)
                                        if (e > 1 || f.params.lazyLoadingInPrevNextAmount && f.params.lazyLoadingInPrevNextAmount > 1) {
                                            var i = f.params.lazyLoadingInPrevNextAmount,
                                                r = e,
                                                s = Math.min(f.activeIndex + r + Math.max(i, r), f.slides.length),
                                                n = Math.max(f.activeIndex - Math.max(r, i), 0);
                                            for (t = f.activeIndex + e; t < s; t++) f.slides[t] && f.lazy.loadImageInSlide(t);
                                            for (t = n; t < f.activeIndex; t++) f.slides[t] && f.lazy.loadImageInSlide(t)
                                        } else {
                                            var o = f.wrapper.children(".".concat(f.params.slideNextClass));
                                            o.length > 0 && f.lazy.loadImageInSlide(o.index());
                                            var l = f.wrapper.children(".".concat(f.params.slidePrevClass));
                                            l.length > 0 && f.lazy.loadImageInSlide(l.index())
                                        }
                                },
                                onTransitionStart: function() {
                                    f.params.lazyLoading && (f.params.lazyLoadingOnTransitionStart || !f.params.lazyLoadingOnTransitionStart && !f.lazy.initialImageLoaded) && f.lazy.load()
                                },
                                onTransitionEnd: function() {
                                    f.params.lazyLoading && !f.params.lazyLoadingOnTransitionStart && f.lazy.load()
                                }
                            }, f.scrollbar = {
                                isTouched: !1,
                                setDragPosition: function(t) {
                                    var e = f.scrollbar,
                                        a = (f.isHorizontal() ? "touchstart" === t.type || "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX || t.clientX : "touchstart" === t.type || "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY || t.clientY) - e.track.offset()[f.isHorizontal() ? "left" : "top"] - e.dragSize / 2,
                                        i = -f.minTranslate() * e.moveDivider,
                                        r = -f.maxTranslate() * e.moveDivider;
                                    a < i ? a = i : a > r && (a = r), a = -a / e.moveDivider, f.updateProgress(a), f.setWrapperTranslate(a, !0)
                                },
                                dragStart: function(t) {
                                    var e = f.scrollbar;
                                    e.isTouched = !0, t.preventDefault(), t.stopPropagation(), e.setDragPosition(t), clearTimeout(e.dragTimeout), e.track.transition(0), f.params.scrollbarHide && e.track.css("opacity", 1), f.wrapper.transition(100), e.drag.transition(100), f.emit("onScrollbarDragStart", f)
                                },
                                dragMove: function(t) {
                                    var e = f.scrollbar;
                                    e.isTouched && (t.preventDefault ? t.preventDefault() : t.returnValue = !1, e.setDragPosition(t), f.wrapper.transition(0), e.track.transition(0), e.drag.transition(0), f.emit("onScrollbarDragMove", f))
                                },
                                dragEnd: function(t) {
                                    var e = f.scrollbar;
                                    e.isTouched && (e.isTouched = !1, f.params.scrollbarHide && (clearTimeout(e.dragTimeout), e.dragTimeout = setTimeout((function() {
                                        e.track.css("opacity", 0), e.track.transition(400)
                                    }), 1e3)), f.emit("onScrollbarDragEnd", f), f.params.scrollbarSnapOnRelease && f.slideReset())
                                },
                                draggableEvents: !1 !== f.params.simulateTouch || f.support.touch ? f.touchEvents : f.touchEventsDesktop,
                                enableDraggable: function() {
                                    var t = f.scrollbar,
                                        e = f.support.touch ? t.track : document;
                                    a(t.track).on(t.draggableEvents.start, t.dragStart), a(e).on(t.draggableEvents.move, t.dragMove), a(e).on(t.draggableEvents.end, t.dragEnd)
                                },
                                disableDraggable: function() {
                                    var t = f.scrollbar,
                                        e = f.support.touch ? t.track : document;
                                    a(t.track).off(t.draggableEvents.start, t.dragStart), a(e).off(t.draggableEvents.move, t.dragMove), a(e).off(t.draggableEvents.end, t.dragEnd)
                                },
                                set: function() {
                                    if (f.params.scrollbar) {
                                        var t = f.scrollbar;
                                        t.track = a(f.params.scrollbar), f.params.uniqueNavElements && "string" == typeof f.params.scrollbar && t.track.length > 1 && 1 === f.container.find(f.params.scrollbar).length && (t.track = f.container.find(f.params.scrollbar)), t.drag = t.track.find(".swiper-scrollbar-drag"), 0 === t.drag.length && (t.drag = a('<div class="swiper-scrollbar-drag"></div>'), t.track.append(t.drag)), t.drag[0].style.width = "", t.drag[0].style.height = "", t.trackSize = f.isHorizontal() ? t.track[0].offsetWidth : t.track[0].offsetHeight, t.divider = f.size / f.virtualSize, t.moveDivider = t.divider * (t.trackSize / f.size), t.dragSize = t.trackSize * t.divider, f.isHorizontal() ? t.drag[0].style.width = "".concat(t.dragSize, "px") : t.drag[0].style.height = "".concat(t.dragSize, "px"), t.divider >= 1 ? t.track[0].style.display = "none" : t.track[0].style.display = "", f.params.scrollbarHide && (t.track[0].style.opacity = 0)
                                    }
                                },
                                setTranslate: function() {
                                    if (f.params.scrollbar) {
                                        var t, e = f.scrollbar,
                                            a = (f.translate, e.dragSize);
                                        t = (e.trackSize - e.dragSize) * f.progress, f.rtl && f.isHorizontal() ? (t = -t) > 0 ? (a = e.dragSize - t, t = 0) : -t + e.dragSize > e.trackSize && (a = e.trackSize + t) : t < 0 ? (a = e.dragSize + t, t = 0) : t + e.dragSize > e.trackSize && (a = e.trackSize - t), f.isHorizontal() ? (f.support.transforms3d ? e.drag.transform("translate3d(".concat(t, "px, 0, 0)")) : e.drag.transform("translateX(".concat(t, "px)")), e.drag[0].style.width = "".concat(a, "px")) : (f.support.transforms3d ? e.drag.transform("translate3d(0px, ".concat(t, "px, 0)")) : e.drag.transform("translateY(".concat(t, "px)")), e.drag[0].style.height = "".concat(a, "px")), f.params.scrollbarHide && (clearTimeout(e.timeout), e.track[0].style.opacity = 1, e.timeout = setTimeout((function() {
                                            e.track[0].style.opacity = 0, e.track.transition(400)
                                        }), 1e3))
                                    }
                                },
                                setTransition: function(t) {
                                    f.params.scrollbar && f.scrollbar.drag.transition(t)
                                }
                            }, f.controller = {
                                LinearSpline: function(t, e) {
                                    var a, i, r, s, n, o = function(t, e) {
                                        for (i = -1, a = t.length; a - i > 1;) t[r = a + i >> 1] <= e ? i = r : a = r;
                                        return a
                                    };
                                    this.x = t, this.y = e, this.lastIndex = t.length - 1;
                                    this.x.length;
                                    this.interpolate = function(t) {
                                        return t ? (n = o(this.x, t), s = n - 1, (t - this.x[s]) * (this.y[n] - this.y[s]) / (this.x[n] - this.x[s]) + this.y[s]) : 0
                                    }
                                },
                                getInterpolateFunction: function(t) {
                                    f.controller.spline || (f.controller.spline = f.params.loop ? new f.controller.LinearSpline(f.slidesGrid, t.slidesGrid) : new f.controller.LinearSpline(f.snapGrid, t.snapGrid))
                                },
                                setTranslate: function(t, e) {
                                    var a, i, s = f.params.control;

                                    function n(e) {
                                        t = e.rtl && "horizontal" === e.params.direction ? -f.translate : f.translate, "slide" === f.params.controlBy && (f.controller.getInterpolateFunction(e), i = -f.controller.spline.interpolate(-t)), i && "container" !== f.params.controlBy || (a = (e.maxTranslate() - e.minTranslate()) / (f.maxTranslate() - f.minTranslate()), i = (t - f.minTranslate()) * a + e.minTranslate()), f.params.controlInverse && (i = e.maxTranslate() - i), e.updateProgress(i), e.setWrapperTranslate(i, !1, f), e.updateActiveIndex()
                                    }
                                    if (Array.isArray(s))
                                        for (var o = 0; o < s.length; o++) s[o] !== e && s[o] instanceof r && n(s[o]);
                                    else s instanceof r && e !== s && n(s)
                                },
                                setTransition: function(t, e) {
                                    var a, i = f.params.control;

                                    function s(e) {
                                        e.setWrapperTransition(t, f), 0 !== t && (e.onTransitionStart(), e.wrapper.transitionEnd((function() {
                                            i && (e.params.loop && "slide" === f.params.controlBy && e.fixLoop(), e.onTransitionEnd())
                                        })))
                                    }
                                    if (Array.isArray(i))
                                        for (a = 0; a < i.length; a++) i[a] !== e && i[a] instanceof r && s(i[a]);
                                    else i instanceof r && e !== i && s(i)
                                }
                            }, f.hashnav = {
                                onHashCange: function(t, e) {
                                    var a = document.location.hash.replace("#", "");
                                    a !== f.slides.eq(f.activeIndex).attr("data-hash") && f.slideTo(f.wrapper.children(".".concat(f.params.slideClass, '[data-hash="').concat(a, '"]')).index())
                                },
                                attachEvents: function(t) {
                                    var e = t ? "off" : "on";
                                    a(window)[e]("hashchange", f.hashnav.onHashCange)
                                },
                                setHash: function() {
                                    if (f.hashnav.initialized && f.params.hashnav)
                                        if (f.params.replaceState && window.history && window.history.replaceState) window.history.replaceState(null, null, "#".concat(f.slides.eq(f.activeIndex).attr("data-hash")) || !1);
                                        else {
                                            var t = f.slides.eq(f.activeIndex),
                                                e = t.attr("data-hash") || t.attr("data-history");
                                            document.location.hash = e || ""
                                        }
                                },
                                init: function() {
                                    if (f.params.hashnav && !f.params.history) {
                                        f.hashnav.initialized = !0;
                                        var t = document.location.hash.replace("#", "");
                                        if (t)
                                            for (var e = 0, a = f.slides.length; e < a; e++) {
                                                var i = f.slides.eq(e);
                                                if ((i.attr("data-hash") || i.attr("data-history")) === t && !i.hasClass(f.params.slideDuplicateClass)) {
                                                    var r = i.index();
                                                    f.slideTo(r, 0, f.params.runCallbacksOnInit, !0)
                                                }
                                            }
                                        f.params.hashnavWatchState && f.hashnav.attachEvents()
                                    }
                                },
                                destroy: function() {
                                    f.params.hashnavWatchState && f.hashnav.attachEvents(!0)
                                }
                            }, f.history = {
                                init: function() {
                                    if (f.params.history) {
                                        if (!window.history || !window.history.pushState) return f.params.history = !1, void(f.params.hashnav = !0);
                                        f.history.initialized = !0, this.paths = this.getPathValues(), (this.paths.key || this.paths.value) && (this.scrollToSlide(0, this.paths.value, f.params.runCallbacksOnInit), f.params.replaceState || window.addEventListener("popstate", this.setHistoryPopState))
                                    }
                                },
                                setHistoryPopState: function() {
                                    f.history.paths = f.history.getPathValues(), f.history.scrollToSlide(f.params.speed, f.history.paths.value, !1)
                                },
                                getPathValues: function() {
                                    var t = window.location.pathname.slice(1).split("/"),
                                        e = t.length;
                                    return {
                                        key: t[e - 2],
                                        value: t[e - 1]
                                    }
                                },
                                setHistory: function(t, e) {
                                    if (f.history.initialized && f.params.history) {
                                        var a = f.slides.eq(e),
                                            i = this.slugify(a.attr("data-history"));
                                        window.location.pathname.includes(t) || (i = "".concat(t, "/").concat(i)), f.params.replaceState ? window.history.replaceState(null, null, i) : window.history.pushState(null, null, i)
                                    }
                                },
                                slugify: function(t) {
                                    return t.toString().toLowerCase().replace(/\s+/g, "-").replace(/[^\w\-]+/g, "").replace(/\-\-+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
                                },
                                scrollToSlide: function(t, e, a) {
                                    if (e)
                                        for (var i = 0, r = f.slides.length; i < r; i++) {
                                            var s = f.slides.eq(i);
                                            if (this.slugify(s.attr("data-history")) === e && !s.hasClass(f.params.slideDuplicateClass)) {
                                                var n = s.index();
                                                f.slideTo(n, t, a)
                                            }
                                        } else f.slideTo(0, t, a)
                                }
                            }, f.disableKeyboardControl = function() {
                                f.params.keyboardControl = !1, a(document).off("keydown", z)
                            }, f.enableKeyboardControl = function() {
                                f.params.keyboardControl = !0, a(document).on("keydown", z)
                            }, f.mousewheel = {
                                event: !1,
                                lastScrollTime: (new window.Date).getTime()
                            }, f.params.mousewheelControl && (f.mousewheel.event = navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function() {
                                var t = "onwheel" in document;
                                if (!t) {
                                    var e = document.createElement("div");
                                    e.setAttribute("onwheel", "return;"), t = "function" == typeof e.onwheel
                                }
                                return !t && document.implementation && document.implementation.hasFeature && !0 !== document.implementation.hasFeature("", "") && (t = document.implementation.hasFeature("Events.wheel", "3.0")), t
                            }() ? "wheel" : "mousewheel"), f.disableMousewheelControl = function() {
                                if (!f.mousewheel.event) return !1;
                                var t = f.container;
                                return "container" !== f.params.mousewheelEventsTarged && (t = a(f.params.mousewheelEventsTarged)), t.off(f.mousewheel.event, R), f.params.mousewheelControl = !1, !0
                            }, f.enableMousewheelControl = function() {
                                if (!f.mousewheel.event) return !1;
                                var t = f.container;
                                return "container" !== f.params.mousewheelEventsTarged && (t = a(f.params.mousewheelEventsTarged)), t.on(f.mousewheel.event, R), f.params.mousewheelControl = !0, !0
                            }, f.parallax = {
                                setTranslate: function() {
                                    f.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each((function() {
                                        L(this, f.progress)
                                    })), f.slides.each((function() {
                                        var t = a(this);
                                        t.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each((function() {
                                            L(this, Math.min(Math.max(t[0].progress, -1), 1))
                                        }))
                                    }))
                                },
                                setTransition: function(t) {
                                    void 0 === t && (t = f.params.speed), f.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each((function() {
                                        var e = a(this),
                                            i = parseInt(e.attr("data-swiper-parallax-duration"), 10) || t;
                                        0 === t && (i = 0), e.transition(i)
                                    }))
                                }
                            }, f.zoom = {
                                scale: 1,
                                currentScale: 1,
                                isScaling: !1,
                                gesture: {
                                    slide: void 0,
                                    slideWidth: void 0,
                                    slideHeight: void 0,
                                    image: void 0,
                                    imageWrap: void 0,
                                    zoomMax: f.params.zoomMax
                                },
                                image: {
                                    isTouched: void 0,
                                    isMoved: void 0,
                                    currentX: void 0,
                                    currentY: void 0,
                                    minX: void 0,
                                    minY: void 0,
                                    maxX: void 0,
                                    maxY: void 0,
                                    width: void 0,
                                    height: void 0,
                                    startX: void 0,
                                    startY: void 0,
                                    touchesStart: {},
                                    touchesCurrent: {}
                                },
                                velocity: {
                                    x: void 0,
                                    y: void 0,
                                    prevPositionX: void 0,
                                    prevPositionY: void 0,
                                    prevTime: void 0
                                },
                                getDistanceBetweenTouches: function(t) {
                                    if (t.targetTouches.length < 2) return 1;
                                    var e = t.targetTouches[0].pageX,
                                        a = t.targetTouches[0].pageY,
                                        i = t.targetTouches[1].pageX,
                                        r = t.targetTouches[1].pageY;
                                    return Math.sqrt(Math.pow(i - e, 2) + Math.pow(r - a, 2))
                                },
                                onGestureStart: function(t) {
                                    var e = f.zoom;
                                    if (!f.support.gestures) {
                                        if ("touchstart" !== t.type || "touchstart" === t.type && t.targetTouches.length < 2) return;
                                        e.gesture.scaleStart = e.getDistanceBetweenTouches(t)
                                    }
                                    e.gesture.slide && e.gesture.slide.length || (e.gesture.slide = a(this), 0 === e.gesture.slide.length && (e.gesture.slide = f.slides.eq(f.activeIndex)), e.gesture.image = e.gesture.slide.find("img, svg, canvas"), e.gesture.imageWrap = e.gesture.image.parent(".".concat(f.params.zoomContainerClass)), e.gesture.zoomMax = e.gesture.imageWrap.attr("data-swiper-zoom") || f.params.zoomMax, 0 !== e.gesture.imageWrap.length) ? (e.gesture.image.transition(0), e.isScaling = !0) : e.gesture.image = void 0
                                },
                                onGestureChange: function(t) {
                                    var e = f.zoom;
                                    if (!f.support.gestures) {
                                        if ("touchmove" !== t.type || "touchmove" === t.type && t.targetTouches.length < 2) return;
                                        e.gesture.scaleMove = e.getDistanceBetweenTouches(t)
                                    }
                                    e.gesture.image && 0 !== e.gesture.image.length && (f.support.gestures ? e.scale = t.scale * e.currentScale : e.scale = e.gesture.scaleMove / e.gesture.scaleStart * e.currentScale, e.scale > e.gesture.zoomMax && (e.scale = e.gesture.zoomMax - 1 + Math.pow(e.scale - e.gesture.zoomMax + 1, .5)), e.scale < f.params.zoomMin && (e.scale = f.params.zoomMin + 1 - Math.pow(f.params.zoomMin - e.scale + 1, .5)), e.gesture.image.transform("translate3d(0,0,0) scale(".concat(e.scale, ")")))
                                },
                                onGestureEnd: function(t) {
                                    var e = f.zoom;
                                    !f.support.gestures && ("touchend" !== t.type || "touchend" === t.type && t.changedTouches.length < 2) || e.gesture.image && 0 !== e.gesture.image.length && (e.scale = Math.max(Math.min(e.scale, e.gesture.zoomMax), f.params.zoomMin), e.gesture.image.transition(f.params.speed).transform("translate3d(0,0,0) scale(".concat(e.scale, ")")), e.currentScale = e.scale, e.isScaling = !1, 1 === e.scale && (e.gesture.slide = void 0))
                                },
                                onTouchStart: function(t, e) {
                                    var a = t.zoom;
                                    a.gesture.image && 0 !== a.gesture.image.length && (a.image.isTouched || ("android" === t.device.os && e.preventDefault(), a.image.isTouched = !0, a.image.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, a.image.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))
                                },
                                onTouchMove: function(t) {
                                    var e = f.zoom;
                                    if (e.gesture.image && 0 !== e.gesture.image.length && (f.allowClick = !1, e.image.isTouched && e.gesture.slide)) {
                                        e.image.isMoved || (e.image.width = e.gesture.image[0].offsetWidth, e.image.height = e.gesture.image[0].offsetHeight, e.image.startX = f.getTranslate(e.gesture.imageWrap[0], "x") || 0, e.image.startY = f.getTranslate(e.gesture.imageWrap[0], "y") || 0, e.gesture.slideWidth = e.gesture.slide[0].offsetWidth, e.gesture.slideHeight = e.gesture.slide[0].offsetHeight, e.gesture.imageWrap.transition(0), f.rtl && (e.image.startX = -e.image.startX), f.rtl && (e.image.startY = -e.image.startY));
                                        var a = e.image.width * e.scale,
                                            i = e.image.height * e.scale;
                                        if (!(a < e.gesture.slideWidth && i < e.gesture.slideHeight)) {
                                            if (e.image.minX = Math.min(e.gesture.slideWidth / 2 - a / 2, 0), e.image.maxX = -e.image.minX, e.image.minY = Math.min(e.gesture.slideHeight / 2 - i / 2, 0), e.image.maxY = -e.image.minY, e.image.touchesCurrent.x = "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX, e.image.touchesCurrent.y = "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY, !e.image.isMoved && !e.isScaling) {
                                                if (f.isHorizontal() && Math.floor(e.image.minX) === Math.floor(e.image.startX) && e.image.touchesCurrent.x < e.image.touchesStart.x || Math.floor(e.image.maxX) === Math.floor(e.image.startX) && e.image.touchesCurrent.x > e.image.touchesStart.x) return void(e.image.isTouched = !1);
                                                if (!f.isHorizontal() && Math.floor(e.image.minY) === Math.floor(e.image.startY) && e.image.touchesCurrent.y < e.image.touchesStart.y || Math.floor(e.image.maxY) === Math.floor(e.image.startY) && e.image.touchesCurrent.y > e.image.touchesStart.y) return void(e.image.isTouched = !1)
                                            }
                                            t.preventDefault(), t.stopPropagation(), e.image.isMoved = !0, e.image.currentX = e.image.touchesCurrent.x - e.image.touchesStart.x + e.image.startX, e.image.currentY = e.image.touchesCurrent.y - e.image.touchesStart.y + e.image.startY, e.image.currentX < e.image.minX && (e.image.currentX = e.image.minX + 1 - Math.pow(e.image.minX - e.image.currentX + 1, .8)), e.image.currentX > e.image.maxX && (e.image.currentX = e.image.maxX - 1 + Math.pow(e.image.currentX - e.image.maxX + 1, .8)), e.image.currentY < e.image.minY && (e.image.currentY = e.image.minY + 1 - Math.pow(e.image.minY - e.image.currentY + 1, .8)), e.image.currentY > e.image.maxY && (e.image.currentY = e.image.maxY - 1 + Math.pow(e.image.currentY - e.image.maxY + 1, .8)), e.velocity.prevPositionX || (e.velocity.prevPositionX = e.image.touchesCurrent.x), e.velocity.prevPositionY || (e.velocity.prevPositionY = e.image.touchesCurrent.y), e.velocity.prevTime || (e.velocity.prevTime = Date.now()), e.velocity.x = (e.image.touchesCurrent.x - e.velocity.prevPositionX) / (Date.now() - e.velocity.prevTime) / 2, e.velocity.y = (e.image.touchesCurrent.y - e.velocity.prevPositionY) / (Date.now() - e.velocity.prevTime) / 2, Math.abs(e.image.touchesCurrent.x - e.velocity.prevPositionX) < 2 && (e.velocity.x = 0), Math.abs(e.image.touchesCurrent.y - e.velocity.prevPositionY) < 2 && (e.velocity.y = 0), e.velocity.prevPositionX = e.image.touchesCurrent.x, e.velocity.prevPositionY = e.image.touchesCurrent.y, e.velocity.prevTime = Date.now(), e.gesture.imageWrap.transform("translate3d(".concat(e.image.currentX, "px, ").concat(e.image.currentY, "px,0)"))
                                        }
                                    }
                                },
                                onTouchEnd: function(t, e) {
                                    var a = t.zoom;
                                    if (a.gesture.image && 0 !== a.gesture.image.length) {
                                        if (!a.image.isTouched || !a.image.isMoved) return a.image.isTouched = !1, void(a.image.isMoved = !1);
                                        a.image.isTouched = !1, a.image.isMoved = !1;
                                        var i = 300,
                                            r = 300,
                                            s = a.velocity.x * i,
                                            n = a.image.currentX + s,
                                            o = a.velocity.y * r,
                                            l = a.image.currentY + o;
                                        0 !== a.velocity.x && (i = Math.abs((n - a.image.currentX) / a.velocity.x)), 0 !== a.velocity.y && (r = Math.abs((l - a.image.currentY) / a.velocity.y));
                                        var h = Math.max(i, r);
                                        a.image.currentX = n, a.image.currentY = l;
                                        var p = a.image.width * a.scale,
                                            c = a.image.height * a.scale;
                                        a.image.minX = Math.min(a.gesture.slideWidth / 2 - p / 2, 0), a.image.maxX = -a.image.minX, a.image.minY = Math.min(a.gesture.slideHeight / 2 - c / 2, 0), a.image.maxY = -a.image.minY, a.image.currentX = Math.max(Math.min(a.image.currentX, a.image.maxX), a.image.minX), a.image.currentY = Math.max(Math.min(a.image.currentY, a.image.maxY), a.image.minY), a.gesture.imageWrap.transition(h).transform("translate3d(".concat(a.image.currentX, "px, ").concat(a.image.currentY, "px,0)"))
                                    }
                                },
                                onTransitionEnd: function(t) {
                                    var e = t.zoom;
                                    e.gesture.slide && t.previousIndex !== t.activeIndex && (e.gesture.image.transform("translate3d(0,0,0) scale(1)"), e.gesture.imageWrap.transform("translate3d(0,0,0)"), e.gesture.slide = e.gesture.image = e.gesture.imageWrap = void 0, e.scale = e.currentScale = 1)
                                },
                                toggleZoom: function(t, e) {
                                    var i, r, s, n, o, l, h, p, c, m, d, f, u, g, y, v, x = t.zoom;
                                    (x.gesture.slide || (x.gesture.slide = t.clickedSlide ? a(t.clickedSlide) : t.slides.eq(t.activeIndex), x.gesture.image = x.gesture.slide.find("img, svg, canvas"), x.gesture.imageWrap = x.gesture.image.parent(".".concat(t.params.zoomContainerClass))), x.gesture.image && 0 !== x.gesture.image.length) && (void 0 === x.image.touchesStart.x && e ? (i = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, r = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (i = x.image.touchesStart.x, r = x.image.touchesStart.y), x.scale && 1 !== x.scale ? (x.scale = x.currentScale = 1, x.gesture.imageWrap.transition(300).transform("translate3d(0,0,0)"), x.gesture.image.transition(300).transform("translate3d(0,0,0) scale(1)"), x.gesture.slide = void 0) : (x.scale = x.currentScale = x.gesture.imageWrap.attr("data-swiper-zoom") || t.params.zoomMax, e ? (y = x.gesture.slide[0].offsetWidth, v = x.gesture.slide[0].offsetHeight, s = x.gesture.slide.offset().left + y / 2 - i, n = x.gesture.slide.offset().top + v / 2 - r, h = x.gesture.image[0].offsetWidth, p = x.gesture.image[0].offsetHeight, c = h * x.scale, m = p * x.scale, u = -(d = Math.min(y / 2 - c / 2, 0)), g = -(f = Math.min(v / 2 - m / 2, 0)), (o = s * x.scale) < d && (o = d), o > u && (o = u), (l = n * x.scale) < f && (l = f), l > g && (l = g)) : (o = 0, l = 0), x.gesture.imageWrap.transition(300).transform("translate3d(".concat(o, "px, ").concat(l, "px,0)")), x.gesture.image.transition(300).transform("translate3d(0,0,0) scale(".concat(x.scale, ")"))))
                                },
                                attachEvents: function(t) {
                                    var e = t ? "off" : "on";
                                    if (f.params.zoom) {
                                        f.slides;
                                        var i = !("touchstart" !== f.touchEvents.start || !f.support.passiveListener || !f.params.passiveListeners) && {
                                            passive: !0,
                                            capture: !1
                                        };
                                        f.support.gestures ? (f.slides[e]("gesturestart", f.zoom.onGestureStart, i), f.slides[e]("gesturechange", f.zoom.onGestureChange, i), f.slides[e]("gestureend", f.zoom.onGestureEnd, i)) : "touchstart" === f.touchEvents.start && (f.slides[e](f.touchEvents.start, f.zoom.onGestureStart, i), f.slides[e](f.touchEvents.move, f.zoom.onGestureChange, i), f.slides[e](f.touchEvents.end, f.zoom.onGestureEnd, i)), f[e]("touchStart", f.zoom.onTouchStart), f.slides.each((function(t, i) {
                                            a(i).find(".".concat(f.params.zoomContainerClass)).length > 0 && a(i)[e](f.touchEvents.move, f.zoom.onTouchMove)
                                        })), f[e]("touchEnd", f.zoom.onTouchEnd), f[e]("transitionEnd", f.zoom.onTransitionEnd), f.params.zoomToggle && f.on("doubleTap", f.zoom.toggleZoom)
                                    }
                                },
                                init: function() {
                                    f.zoom.attachEvents()
                                },
                                destroy: function() {
                                    f.zoom.attachEvents(!0)
                                }
                            }, f._plugins = [], f.plugins) {
                                var F = f.plugins[_](f, f.params[_]);
                                F && f._plugins.push(F)
                            }
                            return f.callPlugins = function(t) {
                                for (var e = 0; e < f._plugins.length; e++) t in f._plugins[e] && f._plugins[e][t](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])
                            }, f.emitterEventListeners = {}, f.emit = function(t) {
                                var e;
                                if (f.params[t] && f.params[t](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]), f.emitterEventListeners[t])
                                    for (e = 0; e < f.emitterEventListeners[t].length; e++) f.emitterEventListeners[t][e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
                                f.callPlugins && f.callPlugins(t, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])
                            }, f.on = function(t, e) {
                                return t = O(t), f.emitterEventListeners[t] || (f.emitterEventListeners[t] = []), f.emitterEventListeners[t].push(e), f
                            }, f.off = function(t, e) {
                                var a;
                                if (t = O(t), void 0 === e) return f.emitterEventListeners[t] = [], f;
                                if (f.emitterEventListeners[t] && 0 !== f.emitterEventListeners[t].length) {
                                    for (a = 0; a < f.emitterEventListeners[t].length; a++) f.emitterEventListeners[t][a] === e && f.emitterEventListeners[t].splice(a, 1);
                                    return f
                                }
                            }, f.once = function(t, e) {
                                t = O(t);
                                return f.on(t, (function a() {
                                    e(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]), f.off(t, a)
                                })), f
                            }, f.a11y = {
                                makeFocusable: function(t) {
                                    return t.attr("tabIndex", "0"), t
                                },
                                addRole: function(t, e) {
                                    return t.attr("role", e), t
                                },
                                addLabel: function(t, e) {
                                    return t.attr("aria-label", e), t
                                },
                                disable: function(t) {
                                    return t.attr("aria-disabled", !0), t
                                },
                                enable: function(t) {
                                    return t.attr("aria-disabled", !1), t
                                },
                                onEnterKey: function(t) {
                                    13 === t.keyCode && (a(t.target).is(f.params.nextButton) ? (f.onClickNext(t), f.isEnd ? f.a11y.notify(f.params.lastSlideMessage) : f.a11y.notify(f.params.nextSlideMessage)) : a(t.target).is(f.params.prevButton) && (f.onClickPrev(t), f.isBeginning ? f.a11y.notify(f.params.firstSlideMessage) : f.a11y.notify(f.params.prevSlideMessage)), a(t.target).is(".".concat(f.params.bulletClass)) && a(t.target)[0].click())
                                },
                                liveRegion: a('<span class="'.concat(f.params.notificationClass, '" aria-live="assertive" aria-atomic="true"></span>')),
                                notify: function(t) {
                                    var e = f.a11y.liveRegion;
                                    0 !== e.length && (e.html(""), e.html(t))
                                },
                                init: function() {
                                    f.params.nextButton && f.nextButton && f.nextButton.length > 0 && (f.a11y.makeFocusable(f.nextButton), f.a11y.addRole(f.nextButton, "button"), f.a11y.addLabel(f.nextButton, f.params.nextSlideMessage)), f.params.prevButton && f.prevButton && f.prevButton.length > 0 && (f.a11y.makeFocusable(f.prevButton), f.a11y.addRole(f.prevButton, "button"), f.a11y.addLabel(f.prevButton, f.params.prevSlideMessage)), a(f.container).append(f.a11y.liveRegion)
                                },
                                initPagination: function() {
                                    f.params.pagination && f.params.paginationClickable && f.bullets && f.bullets.length && f.bullets.each((function() {
                                        var t = a(this);
                                        f.a11y.makeFocusable(t), f.a11y.addRole(t, "button"), f.a11y.addLabel(t, f.params.paginationBulletMessage.replace(/{{index}}/, t.index() + 1))
                                    }))
                                },
                                destroy: function() {
                                    f.a11y.liveRegion && f.a11y.liveRegion.length > 0 && f.a11y.liveRegion.remove()
                                }
                            }, f.init = function() {
                                f.params.loop && f.createLoop(), f.updateContainerSize(), f.updateSlidesSize(), f.updatePagination(), f.params.scrollbar && f.scrollbar && (f.scrollbar.set(), f.params.scrollbarDraggable && f.scrollbar.enableDraggable()), "slide" !== f.params.effect && f.effects[f.params.effect] && (f.params.loop || f.updateProgress(), f.effects[f.params.effect].setTranslate()), f.params.loop ? f.slideTo(f.params.initialSlide + f.loopedSlides, 0, f.params.runCallbacksOnInit) : (f.slideTo(f.params.initialSlide, 0, f.params.runCallbacksOnInit), 0 === f.params.initialSlide && (f.parallax && f.params.parallax && f.parallax.setTranslate(), f.lazy && f.params.lazyLoading && (f.lazy.load(), f.lazy.initialImageLoaded = !0))), f.attachEvents(), f.params.observer && f.support.observer && f.initObservers(), f.params.preloadImages && !f.params.lazyLoading && f.preloadImages(), f.params.zoom && f.zoom && f.zoom.init(), f.params.autoplay && f.startAutoplay(), f.params.keyboardControl && f.enableKeyboardControl && f.enableKeyboardControl(), f.params.mousewheelControl && f.enableMousewheelControl && f.enableMousewheelControl(), f.params.hashnavReplaceState && (f.params.replaceState = f.params.hashnavReplaceState), f.params.history && f.history && f.history.init(), f.params.hashnav && f.hashnav && f.hashnav.init(), f.params.a11y && f.a11y && f.a11y.init(), f.emit("onInit", f)
                            }, f.cleanupStyles = function() {
                                f.container.removeClass(f.classNames.join(" ")).removeAttr("style"), f.wrapper.removeAttr("style"), f.slides && f.slides.length && f.slides.removeClass([f.params.slideVisibleClass, f.params.slideActiveClass, f.params.slideNextClass, f.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"), f.paginationContainer && f.paginationContainer.length && f.paginationContainer.removeClass(f.params.paginationHiddenClass), f.bullets && f.bullets.length && f.bullets.removeClass(f.params.bulletActiveClass), f.params.prevButton && a(f.params.prevButton).removeClass(f.params.buttonDisabledClass), f.params.nextButton && a(f.params.nextButton).removeClass(f.params.buttonDisabledClass), f.params.scrollbar && f.scrollbar && (f.scrollbar.track && f.scrollbar.track.length && f.scrollbar.track.removeAttr("style"), f.scrollbar.drag && f.scrollbar.drag.length && f.scrollbar.drag.removeAttr("style"))
                            }, f.destroy = function(t, e) {
                                f.detachEvents(), f.stopAutoplay(), f.params.scrollbar && f.scrollbar && f.params.scrollbarDraggable && f.scrollbar.disableDraggable(), f.params.loop && f.destroyLoop(), e && f.cleanupStyles(), f.disconnectObservers(), f.params.zoom && f.zoom && f.zoom.destroy(), f.params.keyboardControl && f.disableKeyboardControl && f.disableKeyboardControl(), f.params.mousewheelControl && f.disableMousewheelControl && f.disableMousewheelControl(), f.params.a11y && f.a11y && f.a11y.destroy(), f.params.history && !f.params.replaceState && window.removeEventListener("popstate", f.history.setHistoryPopState), f.params.hashnav && f.hashnav && f.hashnav.destroy(), f.emit("onDestroy"), !1 !== t && (f = null)
                            }, f.init(), f
                        }

                        function I(t) {
                            return Math.floor(t)
                        }

                        function B() {
                            var t = f.params.autoplay,
                                e = f.slides.eq(f.activeIndex);
                            e.attr("data-swiper-autoplay") && (t = e.attr("data-swiper-autoplay") || f.params.autoplay), f.autoplayTimeoutId = setTimeout((function() {
                                f.params.loop ? (f.fixLoop(), f._slideNext(), f.emit("onAutoplay", f)) : f.isEnd ? n.autoplayStopOnLast ? f.stopAutoplay() : (f._slideTo(0), f.emit("onAutoplay", f)) : (f._slideNext(), f.emit("onAutoplay", f))
                            }), t)
                        }

                        function V(t, e) {
                            var i = a(t.target);
                            if (!i.is(e))
                                if ("string" == typeof e) i = i.parents(e);
                                else if (e.nodeType) {
                                var r;
                                if (i.parents().each((function(t, a) {
                                    a === e && (r = e)
                                })), !r) return;
                                return e
                            }
                            if (0 !== i.length) return i[0]
                        }

                        function G(t, e) {
                            e = e || {};
                            var a = new(window.MutationObserver || window.WebkitMutationObserver)((function(t) {
                                t.forEach((function(t) {
                                    f.onResize(!0), f.emit("onObserverUpdate", f, t)
                                }))
                            }));
                            a.observe(t, {
                                attributes: void 0 === e.attributes || e.attributes,
                                childList: void 0 === e.childList || e.childList,
                                characterData: void 0 === e.characterData || e.characterData
                            }), f.observers.push(a)
                        }

                        function z(t) {
                            t.originalEvent && (t = t.originalEvent);
                            var e = t.keyCode || t.charCode;
                            if (!f.params.allowSwipeToNext && (f.isHorizontal() && 39 === e || !f.isHorizontal() && 40 === e)) return !1;
                            if (!f.params.allowSwipeToPrev && (f.isHorizontal() && 37 === e || !f.isHorizontal() && 38 === e)) return !1;
                            if (!(t.shiftKey || t.altKey || t.ctrlKey || t.metaKey || document.activeElement && document.activeElement.nodeName && ("input" === document.activeElement.nodeName.toLowerCase() || "textarea" === document.activeElement.nodeName.toLowerCase()))) {
                                if (37 === e || 39 === e || 38 === e || 40 === e) {
                                    var a = !1;
                                    if (f.container.parents(".".concat(f.params.slideClass)).length > 0 && 0 === f.container.parents(".".concat(f.params.slideActiveClass)).length) return;
                                    var i = {
                                            left: window.pageXOffset,
                                            top: window.pageYOffset
                                        },
                                        r = window.innerWidth,
                                        s = window.innerHeight,
                                        n = f.container.offset();
                                    f.rtl && (n.left -= f.container[0].scrollLeft);
                                    for (var o = [
                                        [n.left, n.top],
                                        [n.left + f.width, n.top],
                                        [n.left, n.top + f.height],
                                        [n.left + f.width, n.top + f.height]
                                    ], l = 0; l < o.length; l++) {
                                        var h = o[l];
                                        h[0] >= i.left && h[0] <= i.left + r && h[1] >= i.top && h[1] <= i.top + s && (a = !0)
                                    }
                                    if (!a) return
                                }
                                f.isHorizontal() ? (37 !== e && 39 !== e || (t.preventDefault ? t.preventDefault() : t.returnValue = !1), (39 === e && !f.rtl || 37 === e && f.rtl) && f.slideNext(), (37 === e && !f.rtl || 39 === e && f.rtl) && f.slidePrev()) : (38 !== e && 40 !== e || (t.preventDefault ? t.preventDefault() : t.returnValue = !1), 40 === e && f.slideNext(), 38 === e && f.slidePrev()), f.emit("onKeyPress", f, e)
                            }
                        }

                        function R(t) {
                            t.originalEvent && (t = t.originalEvent);
                            var e, a, i, r, s, n = 0,
                                o = f.rtl ? -1 : 1,
                                l = (a = 0, i = 0, r = 0, s = 0, "detail" in (e = t) && (i = e.detail), "wheelDelta" in e && (i = -e.wheelDelta / 120), "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (a = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (a = i, i = 0), r = 10 * a, s = 10 * i, "deltaY" in e && (s = e.deltaY), "deltaX" in e && (r = e.deltaX), (r || s) && e.deltaMode && (1 === e.deltaMode ? (r *= 40, s *= 40) : (r *= 800, s *= 800)), r && !a && (a = r < 1 ? -1 : 1), s && !i && (i = s < 1 ? -1 : 1), {
                                    spinX: a,
                                    spinY: i,
                                    pixelX: r,
                                    pixelY: s
                                });
                            if (f.params.mousewheelForceToAxis)
                                if (f.isHorizontal()) {
                                    if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return;
                                    n = l.pixelX * o
                                } else {
                                    if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return;
                                    n = l.pixelY
                                } else n = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * o : -l.pixelY; if (0 !== n) {
                                if (f.params.mousewheelInvert && (n = -n), f.params.freeMode) {
                                    var h = f.getWrapperTranslate() + n * f.params.mousewheelSensitivity,
                                        p = f.isBeginning,
                                        c = f.isEnd;
                                    if (h >= f.minTranslate() && (h = f.minTranslate()), h <= f.maxTranslate() && (h = f.maxTranslate()), f.setWrapperTransition(0), f.setWrapperTranslate(h), f.updateProgress(), f.updateActiveIndex(), (!p && f.isBeginning || !c && f.isEnd) && f.updateClasses(), f.params.freeModeSticky ? (clearTimeout(f.mousewheel.timeout), f.mousewheel.timeout = setTimeout((function() {
                                        f.slideReset()
                                    }), 300)) : f.params.lazyLoading && f.lazy && f.lazy.load(), f.emit("onScroll", f, t), f.params.autoplay && f.params.autoplayDisableOnInteraction && f.stopAutoplay(), 0 === h || h === f.maxTranslate()) return
                                } else {
                                    if ((new window.Date).getTime() - f.mousewheel.lastScrollTime > 60)
                                        if (n < 0)
                                            if (f.isEnd && !f.params.loop || f.animating) {
                                                if (f.params.mousewheelReleaseOnEdges) return !0
                                            } else f.slideNext(), f.emit("onScroll", f, t);
                                    else if (f.isBeginning && !f.params.loop || f.animating) {
                                        if (f.params.mousewheelReleaseOnEdges) return !0
                                    } else f.slidePrev(), f.emit("onScroll", f, t);
                                    f.mousewheel.lastScrollTime = (new window.Date).getTime()
                                }
                                return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
                            }
                        }

                        function L(t, e) {
                            var i, r, s;
                            t = a(t);
                            var n = f.rtl ? -1 : 1;
                            i = t.attr("data-swiper-parallax") || "0", r = t.attr("data-swiper-parallax-x"), s = t.attr("data-swiper-parallax-y"), r || s ? (r = r || "0", s = s || "0") : f.isHorizontal() ? (r = i, s = "0") : (s = i, r = "0"), r = r.indexOf("%") >= 0 ? "".concat(parseInt(r, 10) * e * n, "%") : "".concat(r * e * n, "px"), s = s.indexOf("%") >= 0 ? "".concat(parseInt(s, 10) * e, "%") : "".concat(s * e, "px"), t.transform("translate3d(".concat(r, ", ").concat(s, ",0px)"))
                        }

                        function O(t) {
                            return 0 !== t.indexOf("on") && (t = t[0] !== t[0].toUpperCase() ? "on".concat(t[0].toUpperCase()).concat(t.substring(1)) : "on".concat(t)), t
                        }
                    };
                    n.prototype = {
                        isSafari: (s = window.navigator.userAgent.toLowerCase(), s.indexOf("safari") >= 0 && s.indexOf("chrome") < 0 && s.indexOf("android") < 0),
                        isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),
                        isArray: function(t) {
                            return "[object Array]" === Object.prototype.toString.apply(t)
                        },
                        browser: {
                            ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled,
                            ieTouch: window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1 || window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1,
                            lteIE9: (r = document.createElement("div"), r.innerHTML = "<!--[if lte IE 9]><i></i><![endif]-->", 1 === r.getElementsByTagName("i").length)
                        },
                        device: function() {
                            var t = window.navigator.userAgent,
                                e = t.match(/(Android);?[\s\/]+([\d.]+)?/),
                                a = t.match(/(iPad).*OS\s([\d_]+)/),
                                i = t.match(/(iPod)(.*OS\s([\d_]+))?/),
                                r = !a && t.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
                            return {
                                ios: a || r || i,
                                android: e
                            }
                        }(),
                        support: {
                            touch: window.Modernizr && !0 === Modernizr.touch || !!("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch),
                            transforms3d: window.Modernizr && !0 === Modernizr.csstransforms3d || function() {
                                var t = document.createElement("div").style;
                                return "webkitPerspective" in t || "MozPerspective" in t || "OPerspective" in t || "MsPerspective" in t || "perspective" in t
                            }(),
                            flexbox: function() {
                                for (var t = document.createElement("div").style, e = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), a = 0; a < e.length; a++)
                                    if (e[a] in t) return !0
                            }(),
                            observer: "MutationObserver" in window || "WebkitMutationObserver" in window,
                            passiveListener: function() {
                                var t = !1;
                                try {
                                    var e = Object.defineProperty({}, "passive", {
                                        get: function() {
                                            t = !0
                                        }
                                    });
                                    window.addEventListener("testPassiveListener", null, e)
                                } catch (t) {}
                                return t
                            }(),
                            gestures: "ongesturestart" in window
                        },
                        plugins: {}
                    };
                    for (var o, l = ["jQuery", "Zepto", "Dom7"], h = 0; h < l.length; h++) window[l[h]] && p(window[l[h]]);

                    function p(t) {
                        t.fn.swiper = function(e) {
                            var a;
                            return t(this).each((function() {
                                var t = new n(this, e);
                                a || (a = t)
                            })), a
                        }
                    }(o = "undefined" == typeof Dom7 ? window.Dom7 || window.Zepto || e : Dom7) && ("transitionEnd" in o.fn || (o.fn.transitionEnd = function(t) {
                        var e, a = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"],
                            i = this;

                        function r(s) {
                            if (s.target === this)
                                for (t.call(this, s), e = 0; e < a.length; e++) i.off(a[e], r)
                        }
                        if (t)
                            for (e = 0; e < a.length; e++) i.on(a[e], r);
                        return this
                    }), "transform" in o.fn || (o.fn.transform = function(t) {
                        for (var e = 0; e < this.length; e++) {
                            var a = this[e].style;
                            a.webkitTransform = a.MsTransform = a.msTransform = a.MozTransform = a.OTransform = a.transform = t
                        }
                        return this
                    }), "transition" in o.fn || (o.fn.transition = function(t) {
                        "string" != typeof t && (t += "ms");
                        for (var e = 0; e < this.length; e++) {
                            var a = this[e].style;
                            a.webkitTransitionDuration = a.MsTransitionDuration = a.msTransitionDuration = a.MozTransitionDuration = a.OTransitionDuration = a.transitionDuration = t
                        }
                        return this
                    }), "outerWidth" in o.fn || (o.fn.outerWidth = function(t) {
                        return this.length > 0 ? t ? this[0].offsetWidth + parseFloat(this.css("margin-right")) + parseFloat(this.css("margin-left")) : this[0].offsetWidth : null
                    })), window.Swiper = n
                }()
            }).call(this, a("+2Rf"), a("+2Rf"))
        },
        h7Nl: function(t, e, a) {
            var i = Date.prototype,
                r = i.toString,
                s = i.getTime;
            new Date(NaN) + "" != "Invalid Date" && a("KroJ")(i, "toString", (function() {
                var t = s.call(this);
                return t == t ? r.call(this) : "Invalid Date"
            }))
        },
        "hKI/": function(t, e, a) {
            (function(e) {
                var a = /^\s+|\s+$/g,
                    i = /^[-+]0x[0-9a-f]+$/i,
                    r = /^0b[01]+$/i,
                    s = /^0o[0-7]+$/i,
                    n = parseInt,
                    o = "object" == typeof e && e && e.Object === Object && e,
                    l = "object" == typeof self && self && self.Object === Object && self,
                    h = o || l || Function("return this")(),
                    p = Object.prototype.toString,
                    c = Math.max,
                    m = Math.min,
                    d = function() {
                        return h.Date.now()
                    };

                function f(t, e, a) {
                    var i, r, s, n, o, l, h = 0,
                        p = !1,
                        f = !1,
                        y = !0;
                    if ("function" != typeof t) throw new TypeError("Expected a function");

                    function v(e) {
                        var a = i,
                            s = r;
                        return i = r = void 0, h = e, n = t.apply(s, a)
                    }

                    function x(t) {
                        return h = t, o = setTimeout(b, e), p ? v(t) : n
                    }

                    function k(t) {
                        var a = t - l;
                        return void 0 === l || a >= e || a < 0 || f && t - h >= s
                    }

                    function b() {
                        var t = d();
                        if (k(t)) return E(t);
                        o = setTimeout(b, function(t) {
                            var a = e - (t - l);
                            return f ? m(a, s - (t - h)) : a
                        }(t))
                    }

                    function E(t) {
                        return o = void 0, y && i ? v(t) : (i = r = void 0, n)
                    }

                    function S() {
                        var t = d(),
                            a = k(t);
                        if (i = arguments, r = this, l = t, a) {
                            if (void 0 === o) return x(l);
                            if (f) return o = setTimeout(b, e), v(l)
                        }
                        return void 0 === o && (o = setTimeout(b, e)), n
                    }
                    return e = g(e) || 0, u(a) && (p = !!a.leading, s = (f = "maxWait" in a) ? c(g(a.maxWait) || 0, e) : s, y = "trailing" in a ? !!a.trailing : y), S.cancel = function() {
                        void 0 !== o && clearTimeout(o), h = 0, i = l = r = o = void 0
                    }, S.flush = function() {
                        return void 0 === o ? n : E(d())
                    }, S
                }

                function u(t) {
                    var e = typeof t;
                    return !!t && ("object" == e || "function" == e)
                }

                function g(t) {
                    if ("number" == typeof t) return t;
                    if (function(t) {
                        return "symbol" == typeof t || function(t) {
                            return !!t && "object" == typeof t
                        }(t) && "[object Symbol]" == p.call(t)
                    }(t)) return NaN;
                    if (u(t)) {
                        var e = "function" == typeof t.valueOf ? t.valueOf() : t;
                        t = u(e) ? e + "" : e
                    }
                    if ("string" != typeof t) return 0 === t ? t : +t;
                    t = t.replace(a, "");
                    var o = r.test(t);
                    return o || s.test(t) ? n(t.slice(2), o ? 2 : 8) : i.test(t) ? NaN : +t
                }
                t.exports = function(t, e, a) {
                    var i = !0,
                        r = !0;
                    if ("function" != typeof t) throw new TypeError("Expected a function");
                    return u(a) && (i = "leading" in a ? !!a.leading : i, r = "trailing" in a ? !!a.trailing : r), f(t, e, {
                        leading: i,
                        maxWait: e,
                        trailing: r
                    })
                }
            }).call(this, a("yLpj"))
        },
        hPIQ: function(t, e) {
            t.exports = {}
        },
        hmG0: function(t, e) {},
        hswa: function(t, e, a) {
            var i = a("y3w9"),
                r = a("xpql"),
                s = a("apmT"),
                n = Object.defineProperty;
            e.f = a("nh4g") ? Object.defineProperty : function(t, e, a) {
                if (i(t), e = s(e, !0), i(a), r) try {
                    return n(t, e, a)
                } catch (t) {}
                if ("get" in a || "set" in a) throw TypeError("Accessors not supported!");
                return "value" in a && (t[e] = a.value), t
            }
        },
        ioFf: function(t, e, a) {
            "use strict";
            var i = a("dyZX"),
                r = a("aagx"),
                s = a("nh4g"),
                n = a("XKFU"),
                o = a("KroJ"),
                l = a("Z6vF").KEY,
                h = a("eeVq"),
                p = a("VTer"),
                c = a("fyDq"),
                m = a("ylqs"),
                d = a("K0xU"),
                f = a("N8g3"),
                u = a("OnI7"),
                g = a("1MBn"),
                y = a("EWmC"),
                v = a("y3w9"),
                x = a("0/R4"),
                k = a("S/j/"),
                b = a("aCFj"),
                E = a("apmT"),
                S = a("RjD/"),
                w = a("Kuth"),
                P = a("e7yV"),
                C = a("EemH"),
                A = a("JiEa"),
                T = a("hswa"),
                D = a("DVgA"),
                M = C.f,
                _ = T.f,
                F = P.f,
                I = i.Symbol,
                B = i.JSON,
                V = B && B.stringify,
                G = d("_hidden"),
                z = d("toPrimitive"),
                R = {}.propertyIsEnumerable,
                L = p("symbol-registry"),
                O = p("symbols"),
                N = p("op-symbols"),
                H = Object.prototype,
                j = "function" == typeof I && !!A.f,
                X = i.QObject,
                q = !X || !X.prototype || !X.prototype.findChild,
                Y = s && h((function() {
                    return 7 != w(_({}, "a", {
                        get: function() {
                            return _(this, "a", {
                                value: 7
                            }).a
                        }
                    })).a
                })) ? function(t, e, a) {
                    var i = M(H, e);
                    i && delete H[e], _(t, e, a), i && t !== H && _(H, e, i)
                } : _,
                W = function(t) {
                    var e = O[t] = w(I.prototype);
                    return e._k = t, e
                },
                K = j && "symbol" == typeof I.iterator ? function(t) {
                    return "symbol" == typeof t
                } : function(t) {
                    return t instanceof I
                },
                U = function(t, e, a) {
                    return t === H && U(N, e, a), v(t), e = E(e, !0), v(a), r(O, e) ? (a.enumerable ? (r(t, G) && t[G][e] && (t[G][e] = !1), a = w(a, {
                        enumerable: S(0, !1)
                    })) : (r(t, G) || _(t, G, S(1, {})), t[G][e] = !0), Y(t, e, a)) : _(t, e, a)
                },
                $ = function(t, e) {
                    v(t);
                    for (var a, i = g(e = b(e)), r = 0, s = i.length; s > r;) U(t, a = i[r++], e[a]);
                    return t
                },
                J = function(t) {
                    var e = R.call(this, t = E(t, !0));
                    return !(this === H && r(O, t) && !r(N, t)) && (!(e || !r(this, t) || !r(O, t) || r(this, G) && this[G][t]) || e)
                },
                Z = function(t, e) {
                    if (t = b(t), e = E(e, !0), t !== H || !r(O, e) || r(N, e)) {
                        var a = M(t, e);
                        return !a || !r(O, e) || r(t, G) && t[G][e] || (a.enumerable = !0), a
                    }
                },
                Q = function(t) {
                    for (var e, a = F(b(t)), i = [], s = 0; a.length > s;) r(O, e = a[s++]) || e == G || e == l || i.push(e);
                    return i
                },
                tt = function(t) {
                    for (var e, a = t === H, i = F(a ? N : b(t)), s = [], n = 0; i.length > n;)!r(O, e = i[n++]) || a && !r(H, e) || s.push(O[e]);
                    return s
                };
            j || (o((I = function() {
                if (this instanceof I) throw TypeError("Symbol is not a constructor!");
                var t = m(arguments.length > 0 ? arguments[0] : void 0),
                    e = function(a) {
                        this === H && e.call(N, a), r(this, G) && r(this[G], t) && (this[G][t] = !1), Y(this, t, S(1, a))
                    };
                return s && q && Y(H, t, {
                    configurable: !0,
                    set: e
                }), W(t)
            }).prototype, "toString", (function() {
                return this._k
            })), C.f = Z, T.f = U, a("kJMx").f = P.f = Q, a("UqcF").f = J, A.f = tt, s && !a("LQAc") && o(H, "propertyIsEnumerable", J, !0), f.f = function(t) {
                return W(d(t))
            }), n(n.G + n.W + n.F * !j, {
                Symbol: I
            });
            for (var et = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), at = 0; et.length > at;) d(et[at++]);
            for (var it = D(d.store), rt = 0; it.length > rt;) u(it[rt++]);
            n(n.S + n.F * !j, "Symbol", {
                for: function(t) {
                    return r(L, t += "") ? L[t] : L[t] = I(t)
                },
                keyFor: function(t) {
                    if (!K(t)) throw TypeError(t + " is not a symbol!");
                    for (var e in L)
                        if (L[e] === t) return e
                },
                useSetter: function() {
                    q = !0
                },
                useSimple: function() {
                    q = !1
                }
            }), n(n.S + n.F * !j, "Object", {
                create: function(t, e) {
                    return void 0 === e ? w(t) : $(w(t), e)
                },
                defineProperty: U,
                defineProperties: $,
                getOwnPropertyDescriptor: Z,
                getOwnPropertyNames: Q,
                getOwnPropertySymbols: tt
            });
            var st = h((function() {
                A.f(1)
            }));
            n(n.S + n.F * st, "Object", {
                getOwnPropertySymbols: function(t) {
                    return A.f(k(t))
                }
            }), B && n(n.S + n.F * (!j || h((function() {
                var t = I();
                return "[null]" != V([t]) || "{}" != V({
                    a: t
                }) || "{}" != V(Object(t))
            }))), "JSON", {
                stringify: function(t) {
                    for (var e, a, i = [t], r = 1; arguments.length > r;) i.push(arguments[r++]);
                    if (a = e = i[1], (x(e) || void 0 !== t) && !K(t)) return y(e) || (e = function(t, e) {
                        if ("function" == typeof a && (e = a.call(this, t, e)), !K(e)) return e
                    }), i[1] = e, V.apply(B, i)
                }
            }), I.prototype[z] || a("Mukb")(I.prototype, z, I.prototype.valueOf), c(I, "Symbol"), c(Math, "Math", !0), c(i.JSON, "JSON", !0)
        },
        kJMx: function(t, e, a) {
            var i = a("zhAb"),
                r = a("4R4u").concat("length", "prototype");
            e.f = Object.getOwnPropertyNames || function(t) {
                return i(t, r)
            }
        },
        kYze: function(t, e, a) {
            "use strict";
            a("HAE/");
            var i = a("+2Rf"),
                r = a.n(i),
                s = a("lPHp"),
                n = a.n(s),
                o = a("0aT7");

            function l(t, e) {
                for (var a = 0; a < e.length; a++) {
                    var i = e[a];
                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                }
            }
            var h = 0,
                p = 1,
                c = new(function() {
                    function t() {
                        ! function(t, e) {
                            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                        }(this, t), this.$root = r()("#header"), this.state = p, this.headerBtnAnimation = void 0, this.initHeaderDownloadBtn()
                    }
                    var e, a, i;
                    return e = t, (a = [{
                        key: "initHeaderDownloadBtn",
                        value: function() {
                            var t = this,
                                e = r()("#js-header-download-wrapper");
                            this.headerBtnAnimation = n.a.loadAnimation({
                                container: document.getElementById("js-header-download-btn"),
                                renderer: "svg",
                                loop: !1,
                                autoplay: !1,
                                animationData: o
                            }), e.hover((function() {
                                t.headerBtnAnimation.setDirection(1), t.headerBtnAnimation.play()
                            }), (function() {
                                t.state === p && (t.headerBtnAnimation.setDirection(-1), t.headerBtnAnimation.play())
                            }))
                        }
                    }, {
                        key: "btnPlay",
                        value: function() {
                            this.headerBtnAnimation.setDirection(1), this.headerBtnAnimation.play()
                        }
                    }, {
                        key: "btnStop",
                        value: function() {
                            this.headerBtnAnimation.setDirection(-1), this.headerBtnAnimation.play()
                        }
                    }, {
                        key: "toggleMenu",
                        value: function() {
                            r()(document.body).toggleClass("overflow-hidden"), this.$root.toggleClass("theme-full-screen")
                        }
                    }, {
                        key: "fixed",
                        value: function() {
                            var t = this;
                            this.state === p && this.$root && (this.state = h, this.$root.addClass("theme-dark"), this.btnPlay(), setTimeout((function() {
                                t.$root.addClass("changing"), t.$root.addClass("in")
                            }), 20))
                        }
                    }, {
                        key: "unfixed",
                        value: function() {
                            var t = this;
                            this.state === h && this.$root && (this.state = p, this.$root.removeClass("in"), this.btnStop(), setTimeout((function() {
                                t.$root.removeClass("theme-dark"), t.$root.removeClass("changing")
                            }), 400))
                        }
                    }]) && l(e.prototype, a), i && l(e, i), t
                }());
            e.a = c
        },
        lPHp: function(module, exports, __webpack_require__) {
            var __WEBPACK_AMD_DEFINE_RESULT__;
            "undefined" != typeof navigator && function(t, e) {
                void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = function() {
                    return e(t)
                }.call(exports, __webpack_require__, exports, module)) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
            }(window || {}, (function(window) {
                "use strict";
                var svgNS = "http://www.w3.org/2000/svg",
                    locationHref = "",
                    initialDefaultFrame = -999999,
                    subframeEnabled = !0,
                    idPrefix = "",
                    expressionsPlugin, isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),
                    cachedColors = {},
                    bmRnd, bmPow = Math.pow,
                    bmSqrt = Math.sqrt,
                    bmFloor = Math.floor,
                    bmMax = Math.max,
                    bmMin = Math.min,
                    BMMath = {};

                function ProjectInterface() {
                    return {}
                }! function() {
                    var t, e = ["abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "atan2", "ceil", "cbrt", "expm1", "clz32", "cos", "cosh", "exp", "floor", "fround", "hypot", "imul", "log", "log1p", "log2", "log10", "max", "min", "pow", "random", "round", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "E", "LN10", "LN2", "LOG10E", "LOG2E", "PI", "SQRT1_2", "SQRT2"],
                        a = e.length;
                    for (t = 0; t < a; t += 1) BMMath[e[t]] = Math[e[t]]
                }(), BMMath.random = Math.random, BMMath.abs = function(t) {
                    if ("object" === typeof t && t.length) {
                        var e, a = createSizedArray(t.length),
                            i = t.length;
                        for (e = 0; e < i; e += 1) a[e] = Math.abs(t[e]);
                        return a
                    }
                    return Math.abs(t)
                };
                var defaultCurveSegments = 150,
                    degToRads = Math.PI / 180,
                    roundCorner = .5519;

                function roundValues(t) {
                    bmRnd = t ? Math.round : function(t) {
                        return t
                    }
                }

                function styleDiv(t) {
                    t.style.position = "absolute", t.style.top = 0, t.style.left = 0, t.style.display = "block", t.style.transformOrigin = "0 0", t.style.webkitTransformOrigin = "0 0", t.style.backfaceVisibility = "visible", t.style.webkitBackfaceVisibility = "visible", t.style.transformStyle = "preserve-3d", t.style.webkitTransformStyle = "preserve-3d", t.style.mozTransformStyle = "preserve-3d"
                }

                function BMEnterFrameEvent(t, e, a, i) {
                    this.type = t, this.currentTime = e, this.totalTime = a, this.direction = i < 0 ? -1 : 1
                }

                function BMCompleteEvent(t, e) {
                    this.type = t, this.direction = e < 0 ? -1 : 1
                }

                function BMCompleteLoopEvent(t, e, a, i) {
                    this.type = t, this.currentLoop = a, this.totalLoops = e, this.direction = i < 0 ? -1 : 1
                }

                function BMSegmentStartEvent(t, e, a) {
                    this.type = t, this.firstFrame = e, this.totalFrames = a
                }

                function BMDestroyEvent(t, e) {
                    this.type = t, this.target = e
                }

                function BMRenderFrameErrorEvent(t, e) {
                    this.type = "renderFrameError", this.nativeError = t, this.currentTime = e
                }

                function BMConfigErrorEvent(t) {
                    this.type = "configError", this.nativeError = t
                }

                function BMAnimationConfigErrorEvent(t, e) {
                    this.type = t, this.nativeError = e
                }
                roundValues(!1);
                var createElementID = (_count = 0, function() {
                        return idPrefix + "__lottie_element_" + (_count += 1)
                    }),
                    _count;

                function HSVtoRGB(t, e, a) {
                    var i, r, s, n, o, l, h, p;
                    switch (l = a * (1 - e), h = a * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e), p = a * (1 - (1 - o) * e), n % 6) {
                        case 0:
                            i = a, r = p, s = l;
                            break;
                        case 1:
                            i = h, r = a, s = l;
                            break;
                        case 2:
                            i = l, r = a, s = p;
                            break;
                        case 3:
                            i = l, r = h, s = a;
                            break;
                        case 4:
                            i = p, r = l, s = a;
                            break;
                        case 5:
                            i = a, r = l, s = h
                    }
                    return [i, r, s]
                }

                function RGBtoHSV(t, e, a) {
                    var i, r = Math.max(t, e, a),
                        s = Math.min(t, e, a),
                        n = r - s,
                        o = 0 === r ? 0 : n / r,
                        l = r / 255;
                    switch (r) {
                        case s:
                            i = 0;
                            break;
                        case t:
                            i = e - a + n * (e < a ? 6 : 0), i /= 6 * n;
                            break;
                        case e:
                            i = a - t + 2 * n, i /= 6 * n;
                            break;
                        case a:
                            i = t - e + 4 * n, i /= 6 * n
                    }
                    return [i, o, l]
                }

                function addSaturationToRGB(t, e) {
                    var a = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);
                    return a[1] += e, a[1] > 1 ? a[1] = 1 : a[1] <= 0 && (a[1] = 0), HSVtoRGB(a[0], a[1], a[2])
                }

                function addBrightnessToRGB(t, e) {
                    var a = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);
                    return a[2] += e, a[2] > 1 ? a[2] = 1 : a[2] < 0 && (a[2] = 0), HSVtoRGB(a[0], a[1], a[2])
                }

                function addHueToRGB(t, e) {
                    var a = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);
                    return a[0] += e / 360, a[0] > 1 ? a[0] -= 1 : a[0] < 0 && (a[0] += 1), HSVtoRGB(a[0], a[1], a[2])
                }
                var rgbToHex = function() {
                    var t, e, a = [];
                    for (t = 0; t < 256; t += 1) e = t.toString(16), a[t] = 1 === e.length ? "0" + e : e;
                    return function(t, e, i) {
                        return t < 0 && (t = 0), e < 0 && (e = 0), i < 0 && (i = 0), "#" + a[t] + a[e] + a[i]
                    }
                }();

                function BaseEvent() {}
                BaseEvent.prototype = {
                    triggerEvent: function(t, e) {
                        if (this._cbs[t])
                            for (var a = this._cbs[t].length, i = 0; i < a; i += 1) this._cbs[t][i](e)
                    },
                    addEventListener: function(t, e) {
                        return this._cbs[t] || (this._cbs[t] = []), this._cbs[t].push(e),
                            function() {
                                this.removeEventListener(t, e)
                            }.bind(this)
                    },
                    removeEventListener: function(t, e) {
                        if (e) {
                            if (this._cbs[t]) {
                                for (var a = 0, i = this._cbs[t].length; a < i;) this._cbs[t][a] === e && (this._cbs[t].splice(a, 1), a -= 1, i -= 1), a += 1;
                                this._cbs[t].length || (this._cbs[t] = null)
                            }
                        } else this._cbs[t] = null
                    }
                };
                var createTypedArray = function() {
                    function t(t, e) {
                        var a, i = 0,
                            r = [];
                        switch (t) {
                            case "int16":
                            case "uint8c":
                                a = 1;
                                break;
                            default:
                                a = 1.1
                        }
                        for (i = 0; i < e; i += 1) r.push(a);
                        return r
                    }
                    return "function" == typeof Uint8ClampedArray && "function" == typeof Float32Array ? function(e, a) {
                        return "float32" === e ? new Float32Array(a) : "int16" === e ? new Int16Array(a) : "uint8c" === e ? new Uint8ClampedArray(a) : t(e, a)
                    } : t
                }();

                function createSizedArray(t) {
                    return Array.apply(null, {
                        length: t
                    })
                }

                function createNS(t) {
                    return document.createElementNS(svgNS, t)
                }

                function createTag(t) {
                    return document.createElement(t)
                }

                function DynamicPropertyContainer() {}
                DynamicPropertyContainer.prototype = {
                    addDynamicProperty: function(t) {
                        -1 === this.dynamicProperties.indexOf(t) && (this.dynamicProperties.push(t), this.container.addDynamicProperty(this), this._isAnimated = !0)
                    },
                    iterateDynamicProperties: function() {
                        var t;
                        this._mdf = !1;
                        var e = this.dynamicProperties.length;
                        for (t = 0; t < e; t += 1) this.dynamicProperties[t].getValue(), this.dynamicProperties[t]._mdf && (this._mdf = !0)
                    },
                    initDynamicPropertyContainer: function(t) {
                        this.container = t, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1
                    }
                };
                var getBlendMode = (blendModeEnums = {
                        0: "source-over",
                        1: "multiply",
                        2: "screen",
                        3: "overlay",
                        4: "darken",
                        5: "lighten",
                        6: "color-dodge",
                        7: "color-burn",
                        8: "hard-light",
                        9: "soft-light",
                        10: "difference",
                        11: "exclusion",
                        12: "hue",
                        13: "saturation",
                        14: "color",
                        15: "luminosity"
                    }, function(t) {
                        return blendModeEnums[t] || ""
                    }),
                    blendModeEnums, Matrix = function() {
                        var t = Math.cos,
                            e = Math.sin,
                            a = Math.tan,
                            i = Math.round;

                        function r() {
                            return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this
                        }

                        function s(a) {
                            if (0 === a) return this;
                            var i = t(a),
                                r = e(a);
                            return this._t(i, -r, 0, 0, r, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
                        }

                        function n(a) {
                            if (0 === a) return this;
                            var i = t(a),
                                r = e(a);
                            return this._t(1, 0, 0, 0, 0, i, -r, 0, 0, r, i, 0, 0, 0, 0, 1)
                        }

                        function o(a) {
                            if (0 === a) return this;
                            var i = t(a),
                                r = e(a);
                            return this._t(i, 0, r, 0, 0, 1, 0, 0, -r, 0, i, 0, 0, 0, 0, 1)
                        }

                        function l(a) {
                            if (0 === a) return this;
                            var i = t(a),
                                r = e(a);
                            return this._t(i, -r, 0, 0, r, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
                        }

                        function h(t, e) {
                            return this._t(1, e, t, 1, 0, 0)
                        }

                        function p(t, e) {
                            return this.shear(a(t), a(e))
                        }

                        function c(i, r) {
                            var s = t(r),
                                n = e(r);
                            return this._t(s, n, 0, 0, -n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, a(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
                        }

                        function m(t, e, a) {
                            return a || 0 === a || (a = 1), 1 === t && 1 === e && 1 === a ? this : this._t(t, 0, 0, 0, 0, e, 0, 0, 0, 0, a, 0, 0, 0, 0, 1)
                        }

                        function d(t, e, a, i, r, s, n, o, l, h, p, c, m, d, f, u) {
                            return this.props[0] = t, this.props[1] = e, this.props[2] = a, this.props[3] = i, this.props[4] = r, this.props[5] = s, this.props[6] = n, this.props[7] = o, this.props[8] = l, this.props[9] = h, this.props[10] = p, this.props[11] = c, this.props[12] = m, this.props[13] = d, this.props[14] = f, this.props[15] = u, this
                        }

                        function f(t, e, a) {
                            return a = a || 0, 0 !== t || 0 !== e || 0 !== a ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, a, 1) : this
                        }

                        function u(t, e, a, i, r, s, n, o, l, h, p, c, m, d, f, u) {
                            var g = this.props;
                            if (1 === t && 0 === e && 0 === a && 0 === i && 0 === r && 1 === s && 0 === n && 0 === o && 0 === l && 0 === h && 1 === p && 0 === c) return g[12] = g[12] * t + g[15] * m, g[13] = g[13] * s + g[15] * d, g[14] = g[14] * p + g[15] * f, g[15] *= u, this._identityCalculated = !1, this;
                            var y = g[0],
                                v = g[1],
                                x = g[2],
                                k = g[3],
                                b = g[4],
                                E = g[5],
                                S = g[6],
                                w = g[7],
                                P = g[8],
                                C = g[9],
                                A = g[10],
                                T = g[11],
                                D = g[12],
                                M = g[13],
                                _ = g[14],
                                F = g[15];
                            return g[0] = y * t + v * r + x * l + k * m, g[1] = y * e + v * s + x * h + k * d, g[2] = y * a + v * n + x * p + k * f, g[3] = y * i + v * o + x * c + k * u, g[4] = b * t + E * r + S * l + w * m, g[5] = b * e + E * s + S * h + w * d, g[6] = b * a + E * n + S * p + w * f, g[7] = b * i + E * o + S * c + w * u, g[8] = P * t + C * r + A * l + T * m, g[9] = P * e + C * s + A * h + T * d, g[10] = P * a + C * n + A * p + T * f, g[11] = P * i + C * o + A * c + T * u, g[12] = D * t + M * r + _ * l + F * m, g[13] = D * e + M * s + _ * h + F * d, g[14] = D * a + M * n + _ * p + F * f, g[15] = D * i + M * o + _ * c + F * u, this._identityCalculated = !1, this
                        }

                        function g() {
                            return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]), this._identityCalculated = !0), this._identity
                        }

                        function y(t) {
                            for (var e = 0; e < 16;) {
                                if (t.props[e] !== this.props[e]) return !1;
                                e += 1
                            }
                            return !0
                        }

                        function v(t) {
                            var e;
                            for (e = 0; e < 16; e += 1) t.props[e] = this.props[e];
                            return t
                        }

                        function x(t) {
                            var e;
                            for (e = 0; e < 16; e += 1) this.props[e] = t[e]
                        }

                        function k(t, e, a) {
                            return {
                                x: t * this.props[0] + e * this.props[4] + a * this.props[8] + this.props[12],
                                y: t * this.props[1] + e * this.props[5] + a * this.props[9] + this.props[13],
                                z: t * this.props[2] + e * this.props[6] + a * this.props[10] + this.props[14]
                            }
                        }

                        function b(t, e, a) {
                            return t * this.props[0] + e * this.props[4] + a * this.props[8] + this.props[12]
                        }

                        function E(t, e, a) {
                            return t * this.props[1] + e * this.props[5] + a * this.props[9] + this.props[13]
                        }

                        function S(t, e, a) {
                            return t * this.props[2] + e * this.props[6] + a * this.props[10] + this.props[14]
                        }

                        function w() {
                            var t = this.props[0] * this.props[5] - this.props[1] * this.props[4],
                                e = this.props[5] / t,
                                a = -this.props[1] / t,
                                i = -this.props[4] / t,
                                r = this.props[0] / t,
                                s = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t,
                                n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / t,
                                o = new Matrix;
                            return o.props[0] = e, o.props[1] = a, o.props[4] = i, o.props[5] = r, o.props[12] = s, o.props[13] = n, o
                        }

                        function P(t) {
                            return this.getInverseMatrix().applyToPointArray(t[0], t[1], t[2] || 0)
                        }

                        function C(t) {
                            var e, a = t.length,
                                i = [];
                            for (e = 0; e < a; e += 1) i[e] = P(t[e]);
                            return i
                        }

                        function A(t, e, a) {
                            var i = createTypedArray("float32", 6);
                            if (this.isIdentity()) i[0] = t[0], i[1] = t[1], i[2] = e[0], i[3] = e[1], i[4] = a[0], i[5] = a[1];
                            else {
                                var r = this.props[0],
                                    s = this.props[1],
                                    n = this.props[4],
                                    o = this.props[5],
                                    l = this.props[12],
                                    h = this.props[13];
                                i[0] = t[0] * r + t[1] * n + l, i[1] = t[0] * s + t[1] * o + h, i[2] = e[0] * r + e[1] * n + l, i[3] = e[0] * s + e[1] * o + h, i[4] = a[0] * r + a[1] * n + l, i[5] = a[0] * s + a[1] * o + h
                            }
                            return i
                        }

                        function T(t, e, a) {
                            return this.isIdentity() ? [t, e, a] : [t * this.props[0] + e * this.props[4] + a * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + a * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + a * this.props[10] + this.props[14]]
                        }

                        function D(t, e) {
                            if (this.isIdentity()) return t + "," + e;
                            var a = this.props;
                            return Math.round(100 * (t * a[0] + e * a[4] + a[12])) / 100 + "," + Math.round(100 * (t * a[1] + e * a[5] + a[13])) / 100
                        }

                        function M() {
                            for (var t = 0, e = this.props, a = "matrix3d("; t < 16;) a += i(1e4 * e[t]) / 1e4, a += 15 === t ? ")" : ",", t += 1;
                            return a
                        }

                        function _(t) {
                            return t < 1e-6 && t > 0 || t > -1e-6 && t < 0 ? i(1e4 * t) / 1e4 : t
                        }

                        function F() {
                            var t = this.props;
                            return "matrix(" + _(t[0]) + "," + _(t[1]) + "," + _(t[4]) + "," + _(t[5]) + "," + _(t[12]) + "," + _(t[13]) + ")"
                        }
                        return function() {
                            this.reset = r, this.rotate = s, this.rotateX = n, this.rotateY = o, this.rotateZ = l, this.skew = p, this.skewFromAxis = c, this.shear = h, this.scale = m, this.setTransform = d, this.translate = f, this.transform = u, this.applyToPoint = k, this.applyToX = b, this.applyToY = E, this.applyToZ = S, this.applyToPointArray = T, this.applyToTriplePoints = A, this.applyToPointStringified = D, this.toCSS = M, this.to2dCSS = F, this.clone = v, this.cloneFromProps = x, this.equals = y, this.inversePoints = C, this.inversePoint = P, this.getInverseMatrix = w, this._t = this.transform, this.isIdentity = g, this._identity = !0, this._identityCalculated = !1, this.props = createTypedArray("float32", 16), this.reset()
                        }
                    }();
                /*!
                 Transformation Matrix v2.0
                 (c) Epistemex 2014-2015
                 www.epistemex.com
                 By Ken Fyrstenberg
                 Contributions by leeoniya.
                 License: MIT, header required.
                 */
                ! function(t, e) {
                    var a = this,
                        i = e.pow(256, 6),
                        r = e.pow(2, 52),
                        s = 2 * r;

                    function n(t) {
                        var e, a = t.length,
                            i = this,
                            r = 0,
                            s = i.i = i.j = 0,
                            n = i.S = [];
                        for (a || (t = [a++]); r < 256;) n[r] = r++;
                        for (r = 0; r < 256; r++) n[r] = n[s = 255 & s + t[r % a] + (e = n[r])], n[s] = e;
                        i.g = function(t) {
                            for (var e, a = 0, r = i.i, s = i.j, n = i.S; t--;) e = n[r = 255 & r + 1], a = 256 * a + n[255 & (n[r] = n[s = 255 & s + e]) + (n[s] = e)];
                            return i.i = r, i.j = s, a
                        }
                    }

                    function o(t, e) {
                        return e.i = t.i, e.j = t.j, e.S = t.S.slice(), e
                    }

                    function l(t, e) {
                        for (var a, i = t + "", r = 0; r < i.length;) e[255 & r] = 255 & (a ^= 19 * e[255 & r]) + i.charCodeAt(r++);
                        return h(e)
                    }

                    function h(t) {
                        return String.fromCharCode.apply(0, t)
                    }
                    e.seedrandom = function(p, c, m) {
                        var d = [],
                            f = l(function t(e, a) {
                                var i, r = [],
                                    s = typeof e;
                                if (a && "object" == s)
                                    for (i in e) try {
                                        r.push(t(e[i], a - 1))
                                    } catch (t) {}
                                return r.length ? r : "string" == s ? e : e + "\0"
                            }((c = !0 === c ? {
                                entropy: !0
                            } : c || {}).entropy ? [p, h(t)] : null === p ? function() {
                                try {
                                    void 0;
                                    var e = new Uint8Array(256);
                                    return (a.crypto || a.msCrypto).getRandomValues(e), h(e)
                                } catch (e) {
                                    var i = a.navigator,
                                        r = i && i.plugins;
                                    return [+new Date, a, r, a.screen, h(t)]
                                }
                            }() : p, 3), d),
                            u = new n(d),
                            g = function() {
                                for (var t = u.g(6), e = i, a = 0; t < r;) t = 256 * (t + a), e *= 256, a = u.g(1);
                                for (; t >= s;) t /= 2, e /= 2, a >>>= 1;
                                return (t + a) / e
                            };
                        return g.int32 = function() {
                            return 0 | u.g(4)
                        }, g.quick = function() {
                            return u.g(4) / 4294967296
                        }, g.double = g, l(h(u.S), t), (c.pass || m || function(t, a, i, r) {
                            return r && (r.S && o(r, u), t.state = function() {
                                return o(u, {})
                            }), i ? (e.random = t, a) : t
                        })(g, f, "global" in c ? c.global : this == e, c.state)
                    }, l(e.random(), t)
                }([], BMMath);
                var BezierFactory = function() {
                    var t = {
                            getBezierEasing: function(t, a, i, r, s) {
                                var n = s || ("bez_" + t + "_" + a + "_" + i + "_" + r).replace(/\./g, "p");
                                if (e[n]) return e[n];
                                var o = new l([t, a, i, r]);
                                return e[n] = o, o
                            }
                        },
                        e = {};
                    var a = "function" == typeof Float32Array;

                    function i(t, e) {
                        return 1 - 3 * e + 3 * t
                    }

                    function r(t, e) {
                        return 3 * e - 6 * t
                    }

                    function s(t) {
                        return 3 * t
                    }

                    function n(t, e, a) {
                        return ((i(e, a) * t + r(e, a)) * t + s(e)) * t
                    }

                    function o(t, e, a) {
                        return 3 * i(e, a) * t * t + 2 * r(e, a) * t + s(e)
                    }

                    function l(t) {
                        this._p = t, this._mSampleValues = a ? new Float32Array(11) : new Array(11), this._precomputed = !1, this.get = this.get.bind(this)
                    }
                    return l.prototype = {
                        get: function(t) {
                            var e = this._p[0],
                                a = this._p[1],
                                i = this._p[2],
                                r = this._p[3];
                            return this._precomputed || this._precompute(), e === a && i === r ? t : 0 === t ? 0 : 1 === t ? 1 : n(this._getTForX(t), a, r)
                        },
                        _precompute: function() {
                            var t = this._p[0],
                                e = this._p[1],
                                a = this._p[2],
                                i = this._p[3];
                            this._precomputed = !0, t === e && a === i || this._calcSampleValues()
                        },
                        _calcSampleValues: function() {
                            for (var t = this._p[0], e = this._p[2], a = 0; a < 11; ++a) this._mSampleValues[a] = n(.1 * a, t, e)
                        },
                        _getTForX: function(t) {
                            for (var e = this._p[0], a = this._p[2], i = this._mSampleValues, r = 0, s = 1; 10 !== s && i[s] <= t; ++s) r += .1;
                            var l = r + .1 * ((t - i[--s]) / (i[s + 1] - i[s])),
                                h = o(l, e, a);
                            return h >= .001 ? function(t, e, a, i) {
                                for (var r = 0; r < 4; ++r) {
                                    var s = o(e, a, i);
                                    if (0 === s) return e;
                                    e -= (n(e, a, i) - t) / s
                                }
                                return e
                            }(t, l, e, a) : 0 === h ? l : function(t, e, a, i, r) {
                                var s, o, l = 0;
                                do {
                                    (s = n(o = e + (a - e) / 2, i, r) - t) > 0 ? a = o : e = o
                                } while (Math.abs(s) > 1e-7 && ++l < 10);
                                return o
                            }(t, r, r + .1, e, a)
                        }
                    }, t
                }();

                function extendPrototype(t, e) {
                    var a, i, r = t.length;
                    for (a = 0; a < r; a += 1)
                        for (var s in i = t[a].prototype) Object.prototype.hasOwnProperty.call(i, s) && (e.prototype[s] = i[s])
                }

                function getDescriptor(t, e) {
                    return Object.getOwnPropertyDescriptor(t, e)
                }

                function createProxyFunction(t) {
                    function e() {}
                    return e.prototype = t, e
                }

                function bezFunction() {
                    var t = Math;

                    function e(t, e, a, i, r, s) {
                        var n = t * i + e * r + a * s - r * i - s * t - a * e;
                        return n > -.001 && n < .001
                    }
                    var a = function(t, e, a, i) {
                        var r, s, n, o, l, h, p = defaultCurveSegments,
                            c = 0,
                            m = [],
                            d = [],
                            f = bezierLengthPool.newElement();
                        for (n = a.length, r = 0; r < p; r += 1) {
                            for (l = r / (p - 1), h = 0, s = 0; s < n; s += 1) o = bmPow(1 - l, 3) * t[s] + 3 * bmPow(1 - l, 2) * l * a[s] + 3 * (1 - l) * bmPow(l, 2) * i[s] + bmPow(l, 3) * e[s], m[s] = o, null !== d[s] && (h += bmPow(m[s] - d[s], 2)), d[s] = m[s];
                            h && (c += h = bmSqrt(h)), f.percents[r] = l, f.lengths[r] = c
                        }
                        return f.addedLength = c, f
                    };

                    function i(t) {
                        this.segmentLength = 0, this.points = new Array(t)
                    }

                    function r(t, e) {
                        this.partialLength = t, this.point = e
                    }
                    var s, n = (s = {}, function(t, a, n, o) {
                        var l = (t[0] + "_" + t[1] + "_" + a[0] + "_" + a[1] + "_" + n[0] + "_" + n[1] + "_" + o[0] + "_" + o[1]).replace(/\./g, "p");
                        if (!s[l]) {
                            var h, p, c, m, d, f, u, g = defaultCurveSegments,
                                y = 0,
                                v = null;
                            2 === t.length && (t[0] !== a[0] || t[1] !== a[1]) && e(t[0], t[1], a[0], a[1], t[0] + n[0], t[1] + n[1]) && e(t[0], t[1], a[0], a[1], a[0] + o[0], a[1] + o[1]) && (g = 2);
                            var x = new i(g);
                            for (c = n.length, h = 0; h < g; h += 1) {
                                for (u = createSizedArray(c), d = h / (g - 1), f = 0, p = 0; p < c; p += 1) m = bmPow(1 - d, 3) * t[p] + 3 * bmPow(1 - d, 2) * d * (t[p] + n[p]) + 3 * (1 - d) * bmPow(d, 2) * (a[p] + o[p]) + bmPow(d, 3) * a[p], u[p] = m, null !== v && (f += bmPow(u[p] - v[p], 2));
                                y += f = bmSqrt(f), x.points[h] = new r(f, u), v = u
                            }
                            x.segmentLength = y, s[l] = x
                        }
                        return s[l]
                    });

                    function o(t, e) {
                        var a = e.percents,
                            i = e.lengths,
                            r = a.length,
                            s = bmFloor((r - 1) * t),
                            n = t * e.addedLength,
                            o = 0;
                        if (s === r - 1 || 0 === s || n === i[s]) return a[s];
                        for (var l = i[s] > n ? -1 : 1, h = !0; h;)
                            if (i[s] <= n && i[s + 1] > n ? (o = (n - i[s]) / (i[s + 1] - i[s]), h = !1) : s += l, s < 0 || s >= r - 1) {
                                if (s === r - 1) return a[s];
                                h = !1
                            }
                        return a[s] + (a[s + 1] - a[s]) * o
                    }
                    var l = createTypedArray("float32", 8);
                    return {
                        getSegmentsLength: function(t) {
                            var e, i = segmentsLengthPool.newElement(),
                                r = t.c,
                                s = t.v,
                                n = t.o,
                                o = t.i,
                                l = t._length,
                                h = i.lengths,
                                p = 0;
                            for (e = 0; e < l - 1; e += 1) h[e] = a(s[e], s[e + 1], n[e], o[e + 1]), p += h[e].addedLength;
                            return r && l && (h[e] = a(s[e], s[0], n[e], o[0]), p += h[e].addedLength), i.totalLength = p, i
                        },
                        getNewSegment: function(e, a, i, r, s, n, h) {
                            s < 0 ? s = 0 : s > 1 && (s = 1);
                            var p, c = o(s, h),
                                m = o(n = n > 1 ? 1 : n, h),
                                d = e.length,
                                f = 1 - c,
                                u = 1 - m,
                                g = f * f * f,
                                y = c * f * f * 3,
                                v = c * c * f * 3,
                                x = c * c * c,
                                k = f * f * u,
                                b = c * f * u + f * c * u + f * f * m,
                                E = c * c * u + f * c * m + c * f * m,
                                S = c * c * m,
                                w = f * u * u,
                                P = c * u * u + f * m * u + f * u * m,
                                C = c * m * u + f * m * m + c * u * m,
                                A = c * m * m,
                                T = u * u * u,
                                D = m * u * u + u * m * u + u * u * m,
                                M = m * m * u + u * m * m + m * u * m,
                                _ = m * m * m;
                            for (p = 0; p < d; p += 1) l[4 * p] = t.round(1e3 * (g * e[p] + y * i[p] + v * r[p] + x * a[p])) / 1e3, l[4 * p + 1] = t.round(1e3 * (k * e[p] + b * i[p] + E * r[p] + S * a[p])) / 1e3, l[4 * p + 2] = t.round(1e3 * (w * e[p] + P * i[p] + C * r[p] + A * a[p])) / 1e3, l[4 * p + 3] = t.round(1e3 * (T * e[p] + D * i[p] + M * r[p] + _ * a[p])) / 1e3;
                            return l
                        },
                        getPointInSegment: function(e, a, i, r, s, n) {
                            var l = o(s, n),
                                h = 1 - l;
                            return [t.round(1e3 * (h * h * h * e[0] + (l * h * h + h * l * h + h * h * l) * i[0] + (l * l * h + h * l * l + l * h * l) * r[0] + l * l * l * a[0])) / 1e3, t.round(1e3 * (h * h * h * e[1] + (l * h * h + h * l * h + h * h * l) * i[1] + (l * l * h + h * l * l + l * h * l) * r[1] + l * l * l * a[1])) / 1e3]
                        },
                        buildBezierData: n,
                        pointOnLine2D: e,
                        pointOnLine3D: function(a, i, r, s, n, o, l, h, p) {
                            if (0 === r && 0 === o && 0 === p) return e(a, i, s, n, l, h);
                            var c, m = t.sqrt(t.pow(s - a, 2) + t.pow(n - i, 2) + t.pow(o - r, 2)),
                                d = t.sqrt(t.pow(l - a, 2) + t.pow(h - i, 2) + t.pow(p - r, 2)),
                                f = t.sqrt(t.pow(l - s, 2) + t.pow(h - n, 2) + t.pow(p - o, 2));
                            return (c = m > d ? m > f ? m - d - f : f - d - m : f > d ? f - d - m : d - m - f) > -1e-4 && c < 1e-4
                        }
                    }
                }! function() {
                    for (var t = 0, e = ["ms", "moz", "webkit", "o"], a = 0; a < e.length && !window.requestAnimationFrame; ++a) window.requestAnimationFrame = window[e[a] + "RequestAnimationFrame"], window.cancelAnimationFrame = window[e[a] + "CancelAnimationFrame"] || window[e[a] + "CancelRequestAnimationFrame"];
                    window.requestAnimationFrame || (window.requestAnimationFrame = function(e) {
                        var a = (new Date).getTime(),
                            i = Math.max(0, 16 - (a - t)),
                            r = setTimeout((function() {
                                e(a + i)
                            }), i);
                        return t = a + i, r
                    }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function(t) {
                        clearTimeout(t)
                    })
                }();
                var bez = bezFunction();

                function dataFunctionManager() {
                    function t(r, s, n) {
                        var o, l, h, c, m, d, f = r.length;
                        for (l = 0; l < f; l += 1)
                            if ("ks" in (o = r[l]) && !o.completed) {
                                if (o.completed = !0, o.tt && (r[l - 1].td = o.tt), o.hasMask) {
                                    var u = o.masksProperties;
                                    for (c = u.length, h = 0; h < c; h += 1)
                                        if (u[h].pt.k.i) i(u[h].pt.k);
                                        else
                                            for (d = u[h].pt.k.length, m = 0; m < d; m += 1) u[h].pt.k[m].s && i(u[h].pt.k[m].s[0]), u[h].pt.k[m].e && i(u[h].pt.k[m].e[0])
                                }
                                0 === o.ty ? (o.layers = e(o.refId, s), t(o.layers, s, n)) : 4 === o.ty ? a(o.shapes) : 5 === o.ty && p(o)
                            }
                    }

                    function e(t, e) {
                        for (var a = 0, i = e.length; a < i;) {
                            if (e[a].id === t) return e[a].layers.__used ? JSON.parse(JSON.stringify(e[a].layers)) : (e[a].layers.__used = !0, e[a].layers);
                            a += 1
                        }
                        return null
                    }

                    function a(t) {
                        var e, r, s;
                        for (e = t.length - 1; e >= 0; e -= 1)
                            if ("sh" === t[e].ty)
                                if (t[e].ks.k.i) i(t[e].ks.k);
                                else
                                    for (s = t[e].ks.k.length, r = 0; r < s; r += 1) t[e].ks.k[r].s && i(t[e].ks.k[r].s[0]), t[e].ks.k[r].e && i(t[e].ks.k[r].e[0]);
                        else "gr" === t[e].ty && a(t[e].it)
                    }

                    function i(t) {
                        var e, a = t.i.length;
                        for (e = 0; e < a; e += 1) t.i[e][0] += t.v[e][0], t.i[e][1] += t.v[e][1], t.o[e][0] += t.v[e][0], t.o[e][1] += t.v[e][1]
                    }

                    function r(t, e) {
                        var a = e ? e.split(".") : [100, 100, 100];
                        return t[0] > a[0] || !(a[0] > t[0]) && (t[1] > a[1] || !(a[1] > t[1]) && (t[2] > a[2] || !(a[2] > t[2]) && null))
                    }
                    var s, n = function() {
                            var t = [4, 4, 14];

                            function e(t) {
                                var e, a, i, r = t.length;
                                for (e = 0; e < r; e += 1) 5 === t[e].ty && (a = t[e], i = void 0, i = a.t.d, a.t.d = {
                                    k: [{
                                        s: i,
                                        t: 0
                                    }]
                                })
                            }
                            return function(a) {
                                if (r(t, a.v) && (e(a.layers), a.assets)) {
                                    var i, s = a.assets.length;
                                    for (i = 0; i < s; i += 1) a.assets[i].layers && e(a.assets[i].layers)
                                }
                            }
                        }(),
                        o = (s = [4, 7, 99], function(t) {
                            if (t.chars && !r(s, t.v)) {
                                var e, a, n, o, l, h = t.chars.length;
                                for (e = 0; e < h; e += 1)
                                    if (t.chars[e].data && t.chars[e].data.shapes)
                                        for (n = (l = t.chars[e].data.shapes[0].it).length, a = 0; a < n; a += 1)(o = l[a].ks.k).__converted || (i(l[a].ks.k), o.__converted = !0)
                            }
                        }),
                        l = function() {
                            var t = [4, 1, 9];

                            function e(t) {
                                var a, i, r, s = t.length;
                                for (a = 0; a < s; a += 1)
                                    if ("gr" === t[a].ty) e(t[a].it);
                                    else if ("fl" === t[a].ty || "st" === t[a].ty)
                                    if (t[a].c.k && t[a].c.k[0].i)
                                        for (r = t[a].c.k.length, i = 0; i < r; i += 1) t[a].c.k[i].s && (t[a].c.k[i].s[0] /= 255, t[a].c.k[i].s[1] /= 255, t[a].c.k[i].s[2] /= 255, t[a].c.k[i].s[3] /= 255), t[a].c.k[i].e && (t[a].c.k[i].e[0] /= 255, t[a].c.k[i].e[1] /= 255, t[a].c.k[i].e[2] /= 255, t[a].c.k[i].e[3] /= 255);
                                    else t[a].c.k[0] /= 255, t[a].c.k[1] /= 255, t[a].c.k[2] /= 255, t[a].c.k[3] /= 255
                            }

                            function a(t) {
                                var a, i = t.length;
                                for (a = 0; a < i; a += 1) 4 === t[a].ty && e(t[a].shapes)
                            }
                            return function(e) {
                                if (r(t, e.v) && (a(e.layers), e.assets)) {
                                    var i, s = e.assets.length;
                                    for (i = 0; i < s; i += 1) e.assets[i].layers && a(e.assets[i].layers)
                                }
                            }
                        }(),
                        h = function() {
                            var t = [4, 4, 18];

                            function e(t) {
                                var a, i, r;
                                for (a = t.length - 1; a >= 0; a -= 1)
                                    if ("sh" === t[a].ty)
                                        if (t[a].ks.k.i) t[a].ks.k.c = t[a].closed;
                                        else
                                            for (r = t[a].ks.k.length, i = 0; i < r; i += 1) t[a].ks.k[i].s && (t[a].ks.k[i].s[0].c = t[a].closed), t[a].ks.k[i].e && (t[a].ks.k[i].e[0].c = t[a].closed);
                                else "gr" === t[a].ty && e(t[a].it)
                            }

                            function a(t) {
                                var a, i, r, s, n, o, l = t.length;
                                for (i = 0; i < l; i += 1) {
                                    if ((a = t[i]).hasMask) {
                                        var h = a.masksProperties;
                                        for (s = h.length, r = 0; r < s; r += 1)
                                            if (h[r].pt.k.i) h[r].pt.k.c = h[r].cl;
                                            else
                                                for (o = h[r].pt.k.length, n = 0; n < o; n += 1) h[r].pt.k[n].s && (h[r].pt.k[n].s[0].c = h[r].cl), h[r].pt.k[n].e && (h[r].pt.k[n].e[0].c = h[r].cl)
                                    }
                                    4 === a.ty && e(a.shapes)
                                }
                            }
                            return function(e) {
                                if (r(t, e.v) && (a(e.layers), e.assets)) {
                                    var i, s = e.assets.length;
                                    for (i = 0; i < s; i += 1) e.assets[i].layers && a(e.assets[i].layers)
                                }
                            }
                        }();

                    function p(t) {
                        0 !== t.t.a.length || "m" in t.t.p || (t.singleShape = !0)
                    }
                    var c = {
                        completeData: function(e, a) {
                            e.__complete || (l(e), n(e), o(e), h(e), t(e.layers, e.assets, a), e.__complete = !0)
                        }
                    };
                    return c.checkColors = l, c.checkChars = o, c.checkShapes = h, c.completeLayers = t, c
                }
                var dataManager = dataFunctionManager();

                function getFontProperties(t) {
                    for (var e = t.fStyle ? t.fStyle.split(" ") : [], a = "normal", i = "normal", r = e.length, s = 0; s < r; s += 1) switch (e[s].toLowerCase()) {
                        case "italic":
                            i = "italic";
                            break;
                        case "bold":
                            a = "700";
                            break;
                        case "black":
                            a = "900";
                            break;
                        case "medium":
                            a = "500";
                            break;
                        case "regular":
                        case "normal":
                            a = "400";
                            break;
                        case "light":
                        case "thin":
                            a = "200"
                    }
                    return {
                        style: i,
                        weight: t.fWeight || a
                    }
                }
                var FontManager = function() {
                        var t = {
                                w: 0,
                                size: 0,
                                shapes: []
                            },
                            e = [];

                        function a(t, e) {
                            var a = createTag("span");
                            a.setAttribute("aria-hidden", !0), a.style.fontFamily = e;
                            var i = createTag("span");
                            i.innerText = "giItT1WQy@!-/#", a.style.position = "absolute", a.style.left = "-10000px", a.style.top = "-10000px", a.style.fontSize = "300px", a.style.fontVariant = "normal", a.style.fontStyle = "normal", a.style.fontWeight = "normal", a.style.letterSpacing = "0", a.appendChild(i), document.body.appendChild(a);
                            var r = i.offsetWidth;
                            return i.style.fontFamily = function(t) {
                                var e, a = t.split(","),
                                    i = a.length,
                                    r = [];
                                for (e = 0; e < i; e += 1) "sans-serif" !== a[e] && "monospace" !== a[e] && r.push(a[e]);
                                return r.join(",")
                            }(t) + ", " + e, {
                                node: i,
                                w: r,
                                parent: a
                            }
                        }

                        function i(t, e) {
                            var a = createNS("text");
                            a.style.fontSize = "100px";
                            var i = getFontProperties(e);
                            return a.setAttribute("font-family", e.fFamily), a.setAttribute("font-style", i.style), a.setAttribute("font-weight", i.weight), a.textContent = "1", e.fClass ? (a.style.fontFamily = "inherit", a.setAttribute("class", e.fClass)) : a.style.fontFamily = e.fFamily, t.appendChild(a), createTag("canvas").getContext("2d").font = e.fWeight + " " + e.fStyle + " 100px " + e.fFamily, a
                        }
                        e = e.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);
                        var r = function() {
                            this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this)
                        };
                        return r.getCombinedCharacterCodes = function() {
                            return e
                        }, r.prototype = {
                            addChars: function(t) {
                                if (t) {
                                    var e;
                                    this.chars || (this.chars = []);
                                    var a, i, r = t.length,
                                        s = this.chars.length;
                                    for (e = 0; e < r; e += 1) {
                                        for (a = 0, i = !1; a < s;) this.chars[a].style === t[e].style && this.chars[a].fFamily === t[e].fFamily && this.chars[a].ch === t[e].ch && (i = !0), a += 1;
                                        i || (this.chars.push(t[e]), s += 1)
                                    }
                                }
                            },
                            addFonts: function(t, e) {
                                if (t) {
                                    if (this.chars) return this.isLoaded = !0, void(this.fonts = t.list);
                                    var r, s = t.list,
                                        n = s.length,
                                        o = n;
                                    for (r = 0; r < n; r += 1) {
                                        var l, h, p = !0;
                                        if (s[r].loaded = !1, s[r].monoCase = a(s[r].fFamily, "monospace"), s[r].sansCase = a(s[r].fFamily, "sans-serif"), s[r].fPath) {
                                            if ("p" === s[r].fOrigin || 3 === s[r].origin) {
                                                if ((l = document.querySelectorAll('style[f-forigin="p"][f-family="' + s[r].fFamily + '"], style[f-origin="3"][f-family="' + s[r].fFamily + '"]')).length > 0 && (p = !1), p) {
                                                    var c = createTag("style");
                                                    c.setAttribute("f-forigin", s[r].fOrigin), c.setAttribute("f-origin", s[r].origin), c.setAttribute("f-family", s[r].fFamily), c.type = "text/css", c.innerText = "@font-face {font-family: " + s[r].fFamily + "; font-style: normal; src: url('" + s[r].fPath + "');}", e.appendChild(c)
                                                }
                                            } else if ("g" === s[r].fOrigin || 1 === s[r].origin) {
                                                for (l = document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'), h = 0; h < l.length; h += 1) - 1 !== l[h].href.indexOf(s[r].fPath) && (p = !1);
                                                if (p) {
                                                    var m = createTag("link");
                                                    m.setAttribute("f-forigin", s[r].fOrigin), m.setAttribute("f-origin", s[r].origin), m.type = "text/css", m.rel = "stylesheet", m.href = s[r].fPath, document.body.appendChild(m)
                                                }
                                            } else if ("t" === s[r].fOrigin || 2 === s[r].origin) {
                                                for (l = document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'), h = 0; h < l.length; h += 1) s[r].fPath === l[h].src && (p = !1);
                                                if (p) {
                                                    var d = createTag("link");
                                                    d.setAttribute("f-forigin", s[r].fOrigin), d.setAttribute("f-origin", s[r].origin), d.setAttribute("rel", "stylesheet"), d.setAttribute("href", s[r].fPath), e.appendChild(d)
                                                }
                                            }
                                        } else s[r].loaded = !0, o -= 1;
                                        s[r].helper = i(e, s[r]), s[r].cache = {}, this.fonts.push(s[r])
                                    }
                                    0 === o ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100)
                                } else this.isLoaded = !0
                            },
                            getCharData: function(e, a, i) {
                                for (var r = 0, s = this.chars.length; r < s;) {
                                    if (this.chars[r].ch === e && this.chars[r].style === a && this.chars[r].fFamily === i) return this.chars[r];
                                    r += 1
                                }
                                return ("string" == typeof e && 13 !== e.charCodeAt(0) || !e) && console && console.warn && !this._warned && (this._warned = !0), t
                            },
                            getFontByName: function(t) {
                                for (var e = 0, a = this.fonts.length; e < a;) {
                                    if (this.fonts[e].fName === t) return this.fonts[e];
                                    e += 1
                                }
                                return this.fonts[0]
                            },
                            measureText: function(t, e, a) {
                                var i = this.getFontByName(e),
                                    r = t.charCodeAt(0);
                                if (!i.cache[r + 1]) {
                                    var s = i.helper;
                                    if (" " === t) {
                                        s.textContent = "|" + t + "|";
                                        var n = s.getComputedTextLength();
                                        s.textContent = "||";
                                        var o = s.getComputedTextLength();
                                        i.cache[r + 1] = (n - o) / 100
                                    } else s.textContent = t, i.cache[r + 1] = s.getComputedTextLength() / 100
                                }
                                return i.cache[r + 1] * a
                            },
                            checkLoadedFonts: function() {
                                var t, e, a, i = this.fonts.length,
                                    r = i;
                                for (t = 0; t < i; t += 1) this.fonts[t].loaded ? r -= 1 : "n" === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? this.fonts[t].loaded = !0 : (e = this.fonts[t].monoCase.node, a = this.fonts[t].monoCase.w, e.offsetWidth !== a ? (r -= 1, this.fonts[t].loaded = !0) : (e = this.fonts[t].sansCase.node, a = this.fonts[t].sansCase.w, e.offsetWidth !== a && (r -= 1, this.fonts[t].loaded = !0)), this.fonts[t].loaded && (this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent), this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));
                                0 !== r && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10)
                            },
                            setIsLoaded: function() {
                                this.isLoaded = !0
                            }
                        }, r
                    }(),
                    PropertyFactory = function() {
                        var t = initialDefaultFrame,
                            e = Math.abs;

                        function a(t, e) {
                            var a, r = this.offsetTime;
                            "multidimensional" === this.propType && (a = createTypedArray("float32", this.pv.length));
                            for (var s, n, o, l, h, p, c, m, d = e.lastIndex, f = d, u = this.keyframes.length - 1, g = !0; g;) {
                                if (s = this.keyframes[f], n = this.keyframes[f + 1], f === u - 1 && t >= n.t - r) {
                                    s.h && (s = n), d = 0;
                                    break
                                }
                                if (n.t - r > t) {
                                    d = f;
                                    break
                                }
                                f < u - 1 ? f += 1 : (d = 0, g = !1)
                            }
                            var y, v = n.t - r,
                                x = s.t - r;
                            if (s.to) {
                                s.bezierData || (s.bezierData = bez.buildBezierData(s.s, n.s || s.e, s.to, s.ti));
                                var k = s.bezierData;
                                if (t >= v || t < x) {
                                    var b = t >= v ? k.points.length - 1 : 0;
                                    for (l = k.points[b].point.length, o = 0; o < l; o += 1) a[o] = k.points[b].point[o]
                                } else {
                                    s.__fnct ? m = s.__fnct : (m = BezierFactory.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y, s.n).get, s.__fnct = m), h = m((t - x) / (v - x));
                                    var E, S = k.segmentLength * h,
                                        w = e.lastFrame < t && e._lastKeyframeIndex === f ? e._lastAddedLength : 0;
                                    for (c = e.lastFrame < t && e._lastKeyframeIndex === f ? e._lastPoint : 0, g = !0, p = k.points.length; g;) {
                                        if (w += k.points[c].partialLength, 0 === S || 0 === h || c === k.points.length - 1) {
                                            for (l = k.points[c].point.length, o = 0; o < l; o += 1) a[o] = k.points[c].point[o];
                                            break
                                        }
                                        if (S >= w && S < w + k.points[c + 1].partialLength) {
                                            for (E = (S - w) / k.points[c + 1].partialLength, l = k.points[c].point.length, o = 0; o < l; o += 1) a[o] = k.points[c].point[o] + (k.points[c + 1].point[o] - k.points[c].point[o]) * E;
                                            break
                                        }
                                        c < p - 1 ? c += 1 : g = !1
                                    }
                                    e._lastPoint = c, e._lastAddedLength = w - k.points[c].partialLength, e._lastKeyframeIndex = f
                                }
                            } else {
                                var P, C, A, T, D;
                                if (u = s.s.length, y = n.s || s.e, this.sh && 1 !== s.h)
                                    if (t >= v) a[0] = y[0], a[1] = y[1], a[2] = y[2];
                                    else if (t <= x) a[0] = s.s[0], a[1] = s.s[1], a[2] = s.s[2];
                                else {
                                    ! function(t, e) {
                                        var a = e[0],
                                            i = e[1],
                                            r = e[2],
                                            s = e[3],
                                            n = Math.atan2(2 * i * s - 2 * a * r, 1 - 2 * i * i - 2 * r * r),
                                            o = Math.asin(2 * a * i + 2 * r * s),
                                            l = Math.atan2(2 * a * s - 2 * i * r, 1 - 2 * a * a - 2 * r * r);
                                        t[0] = n / degToRads, t[1] = o / degToRads, t[2] = l / degToRads
                                    }(a, function(t, e, a) {
                                        var i, r, s, n, o, l = [],
                                            h = t[0],
                                            p = t[1],
                                            c = t[2],
                                            m = t[3],
                                            d = e[0],
                                            f = e[1],
                                            u = e[2],
                                            g = e[3];
                                        (r = h * d + p * f + c * u + m * g) < 0 && (r = -r, d = -d, f = -f, u = -u, g = -g);
                                        1 - r > 1e-6 ? (i = Math.acos(r), s = Math.sin(i), n = Math.sin((1 - a) * i) / s, o = Math.sin(a * i) / s) : (n = 1 - a, o = a);
                                        return l[0] = n * h + o * d, l[1] = n * p + o * f, l[2] = n * c + o * u, l[3] = n * m + o * g, l
                                    }(i(s.s), i(y), (t - x) / (v - x)))
                                } else
                                    for (f = 0; f < u; f += 1) 1 !== s.h && (t >= v ? h = 1 : t < x ? h = 0 : (s.o.x.constructor === Array ? (s.__fnct || (s.__fnct = []), s.__fnct[f] ? m = s.__fnct[f] : (P = void 0 === s.o.x[f] ? s.o.x[0] : s.o.x[f], C = void 0 === s.o.y[f] ? s.o.y[0] : s.o.y[f], A = void 0 === s.i.x[f] ? s.i.x[0] : s.i.x[f], T = void 0 === s.i.y[f] ? s.i.y[0] : s.i.y[f], m = BezierFactory.getBezierEasing(P, C, A, T).get, s.__fnct[f] = m)) : s.__fnct ? m = s.__fnct : (P = s.o.x, C = s.o.y, A = s.i.x, T = s.i.y, m = BezierFactory.getBezierEasing(P, C, A, T).get, s.__fnct = m), h = m((t - x) / (v - x)))), y = n.s || s.e, D = 1 === s.h ? s.s[f] : s.s[f] + (y[f] - s.s[f]) * h, "multidimensional" === this.propType ? a[f] = D : a = D
                            }
                            return e.lastIndex = d, a
                        }

                        function i(t) {
                            var e = t[0] * degToRads,
                                a = t[1] * degToRads,
                                i = t[2] * degToRads,
                                r = Math.cos(e / 2),
                                s = Math.cos(a / 2),
                                n = Math.cos(i / 2),
                                o = Math.sin(e / 2),
                                l = Math.sin(a / 2),
                                h = Math.sin(i / 2);
                            return [o * l * n + r * s * h, o * s * n + r * l * h, r * l * n - o * s * h, r * s * n - o * l * h]
                        }

                        function r() {
                            var e = this.comp.renderedFrame - this.offsetTime,
                                a = this.keyframes[0].t - this.offsetTime,
                                i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;
                            if (!(e === this._caching.lastFrame || this._caching.lastFrame !== t && (this._caching.lastFrame >= i && e >= i || this._caching.lastFrame < a && e < a))) {
                                this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);
                                var r = this.interpolateValue(e, this._caching);
                                this.pv = r
                            }
                            return this._caching.lastFrame = e, this.pv
                        }

                        function s(t) {
                            var a;
                            if ("unidimensional" === this.propType) a = t * this.mult, e(this.v - a) > 1e-5 && (this.v = a, this._mdf = !0);
                            else
                                for (var i = 0, r = this.v.length; i < r;) a = t[i] * this.mult, e(this.v[i] - a) > 1e-5 && (this.v[i] = a, this._mdf = !0), i += 1
                        }

                        function n() {
                            if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length)
                                if (this.lock) this.setVValue(this.pv);
                                else {
                                    var t;
                                    this.lock = !0, this._mdf = this._isFirstFrame;
                                    var e = this.effectsSequence.length,
                                        a = this.kf ? this.pv : this.data.k;
                                    for (t = 0; t < e; t += 1) a = this.effectsSequence[t](a);
                                    this.setVValue(a), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId
                                }
                        }

                        function o(t) {
                            this.effectsSequence.push(t), this.container.addDynamicProperty(this)
                        }

                        function l(t, e, a, i) {
                            this.propType = "unidimensional", this.mult = a || 1, this.data = e, this.v = a ? e.k * a : e.k, this.pv = e.k, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.addEffect = o
                        }

                        function h(t, e, a, i) {
                            var r;
                            this.propType = "multidimensional", this.mult = a || 1, this.data = e, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.frameId = -1;
                            var l = e.k.length;
                            for (this.v = createTypedArray("float32", l), this.pv = createTypedArray("float32", l), this.vel = createTypedArray("float32", l), r = 0; r < l; r += 1) this.v[r] = e.k[r] * this.mult, this.pv[r] = e.k[r];
                            this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = n, this.setVValue = s, this.addEffect = o
                        }

                        function p(e, i, l, h) {
                            this.propType = "unidimensional", this.keyframes = i.k, this.offsetTime = e.data.st, this.frameId = -1, this._caching = {
                                lastFrame: t,
                                lastIndex: 0,
                                value: 0,
                                _lastKeyframeIndex: -1
                            }, this.k = !0, this.kf = !0, this.data = i, this.mult = l || 1, this.elem = e, this.container = h, this.comp = e.comp, this.v = t, this.pv = t, this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.interpolateValue = a, this.effectsSequence = [r.bind(this)], this.addEffect = o
                        }

                        function c(e, i, l, h) {
                            var p;
                            this.propType = "multidimensional";
                            var c, m, d, f, u = i.k.length;
                            for (p = 0; p < u - 1; p += 1) i.k[p].to && i.k[p].s && i.k[p + 1] && i.k[p + 1].s && (c = i.k[p].s, m = i.k[p + 1].s, d = i.k[p].to, f = i.k[p].ti, (2 === c.length && (c[0] !== m[0] || c[1] !== m[1]) && bez.pointOnLine2D(c[0], c[1], m[0], m[1], c[0] + d[0], c[1] + d[1]) && bez.pointOnLine2D(c[0], c[1], m[0], m[1], m[0] + f[0], m[1] + f[1]) || 3 === c.length && (c[0] !== m[0] || c[1] !== m[1] || c[2] !== m[2]) && bez.pointOnLine3D(c[0], c[1], c[2], m[0], m[1], m[2], c[0] + d[0], c[1] + d[1], c[2] + d[2]) && bez.pointOnLine3D(c[0], c[1], c[2], m[0], m[1], m[2], m[0] + f[0], m[1] + f[1], m[2] + f[2])) && (i.k[p].to = null, i.k[p].ti = null), c[0] === m[0] && c[1] === m[1] && 0 === d[0] && 0 === d[1] && 0 === f[0] && 0 === f[1] && (2 === c.length || c[2] === m[2] && 0 === d[2] && 0 === f[2]) && (i.k[p].to = null, i.k[p].ti = null));
                            this.effectsSequence = [r.bind(this)], this.data = i, this.keyframes = i.k, this.offsetTime = e.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = l || 1, this.elem = e, this.container = h, this.comp = e.comp, this.getValue = n, this.setVValue = s, this.interpolateValue = a, this.frameId = -1;
                            var g = i.k[0].s.length;
                            for (this.v = createTypedArray("float32", g), this.pv = createTypedArray("float32", g), p = 0; p < g; p += 1) this.v[p] = t, this.pv[p] = t;
                            this._caching = {
                                lastFrame: t,
                                lastIndex: 0,
                                value: createTypedArray("float32", g)
                            }, this.addEffect = o
                        }
                        return {
                            getProp: function(t, e, a, i, r) {
                                var s;
                                if (e.k.length)
                                    if ("number" == typeof e.k[0]) s = new h(t, e, i, r);
                                    else switch (a) {
                                        case 0:
                                            s = new p(t, e, i, r);
                                            break;
                                        case 1:
                                            s = new c(t, e, i, r)
                                    } else s = new l(t, e, i, r);
                                return s.effectsSequence.length && r.addDynamicProperty(s), s
                            }
                        }
                    }(),
                    TransformPropertyFactory = function() {
                        var t = [0, 0];

                        function e(t, e, a) {
                            if (this.elem = t, this.frameId = -1, this.propType = "transform", this.data = e, this.v = new Matrix, this.pre = new Matrix, this.appliedTransformations = 0, this.initDynamicPropertyContainer(a || t), e.p && e.p.s ? (this.px = PropertyFactory.getProp(t, e.p.x, 0, 0, this), this.py = PropertyFactory.getProp(t, e.p.y, 0, 0, this), e.p.z && (this.pz = PropertyFactory.getProp(t, e.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(t, e.p || {
                                k: [0, 0, 0]
                            }, 1, 0, this), e.rx) {
                                if (this.rx = PropertyFactory.getProp(t, e.rx, 0, degToRads, this), this.ry = PropertyFactory.getProp(t, e.ry, 0, degToRads, this), this.rz = PropertyFactory.getProp(t, e.rz, 0, degToRads, this), e.or.k[0].ti) {
                                    var i, r = e.or.k.length;
                                    for (i = 0; i < r; i += 1) e.or.k[i].to = null, e.or.k[i].ti = null
                                }
                                this.or = PropertyFactory.getProp(t, e.or, 1, degToRads, this), this.or.sh = !0
                            } else this.r = PropertyFactory.getProp(t, e.r || {
                                k: 0
                            }, 0, degToRads, this);
                            e.sk && (this.sk = PropertyFactory.getProp(t, e.sk, 0, degToRads, this), this.sa = PropertyFactory.getProp(t, e.sa, 0, degToRads, this)), this.a = PropertyFactory.getProp(t, e.a || {
                                k: [0, 0, 0]
                            }, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s || {
                                k: [100, 100, 100]
                            }, 1, .01, this), e.o ? this.o = PropertyFactory.getProp(t, e.o, 0, .01, t) : this.o = {
                                _mdf: !1,
                                v: 1
                            }, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0)
                        }
                        return e.prototype = {
                            applyToMatrix: function(t) {
                                var e = this._mdf;
                                this.iterateDynamicProperties(), this._mdf = this._mdf || e, this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && t.skewFromAxis(-this.sk.v, this.sa.v), this.r ? t.rotate(-this.r.v) : t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? t.translate(this.px.v, this.py.v, -this.pz.v) : t.translate(this.px.v, this.py.v, 0) : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2])
                            },
                            getValue: function(e) {
                                if (this.elem.globalData.frameId !== this.frameId) {
                                    if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || e) {
                                        var a;
                                        if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {
                                            var i, r;
                                            if (a = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (i = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / a, 0), r = this.p.getValueAtTime(this.p.keyframes[0].t / a, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (i = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / a, 0), r = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / a, 0)) : (i = this.p.pv, r = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / a, this.p.offsetTime));
                                            else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {
                                                i = [], r = [];
                                                var s = this.px,
                                                    n = this.py;
                                                s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? (i[0] = s.getValueAtTime((s.keyframes[0].t + .01) / a, 0), i[1] = n.getValueAtTime((n.keyframes[0].t + .01) / a, 0), r[0] = s.getValueAtTime(s.keyframes[0].t / a, 0), r[1] = n.getValueAtTime(n.keyframes[0].t / a, 0)) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? (i[0] = s.getValueAtTime(s.keyframes[s.keyframes.length - 1].t / a, 0), i[1] = n.getValueAtTime(n.keyframes[n.keyframes.length - 1].t / a, 0), r[0] = s.getValueAtTime((s.keyframes[s.keyframes.length - 1].t - .01) / a, 0), r[1] = n.getValueAtTime((n.keyframes[n.keyframes.length - 1].t - .01) / a, 0)) : (i = [s.pv, n.pv], r[0] = s.getValueAtTime((s._caching.lastFrame + s.offsetTime - .01) / a, s.offsetTime), r[1] = n.getValueAtTime((n._caching.lastFrame + n.offsetTime - .01) / a, n.offsetTime))
                                            } else i = r = t;
                                            this.v.rotate(-Math.atan2(i[1] - r[1], i[0] - r[0]))
                                        }
                                        this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2])
                                    }
                                    this.frameId = this.elem.globalData.frameId
                                }
                            },
                            precalculateMatrix: function() {
                                if (!this.a.k && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1, !this.s.effectsSequence.length)) {
                                    if (this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2, this.sk) {
                                        if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;
                                        this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3
                                    }
                                    this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4)
                                }
                            },
                            autoOrient: function() {}
                        }, extendPrototype([DynamicPropertyContainer], e), e.prototype.addDynamicProperty = function(t) {
                            this._addDynamicProperty(t), this.elem.addDynamicProperty(t), this._isDirty = !0
                        }, e.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty, {
                            getTransformProperty: function(t, a, i) {
                                return new e(t, a, i)
                            }
                        }
                    }();

                function ShapePath() {
                    this.c = !1, this._length = 0, this._maxLength = 8, this.v = createSizedArray(this._maxLength), this.o = createSizedArray(this._maxLength), this.i = createSizedArray(this._maxLength)
                }
                ShapePath.prototype.setPathData = function(t, e) {
                    this.c = t, this.setLength(e);
                    for (var a = 0; a < e;) this.v[a] = pointPool.newElement(), this.o[a] = pointPool.newElement(), this.i[a] = pointPool.newElement(), a += 1
                }, ShapePath.prototype.setLength = function(t) {
                    for (; this._maxLength < t;) this.doubleArrayLength();
                    this._length = t
                }, ShapePath.prototype.doubleArrayLength = function() {
                    this.v = this.v.concat(createSizedArray(this._maxLength)), this.i = this.i.concat(createSizedArray(this._maxLength)), this.o = this.o.concat(createSizedArray(this._maxLength)), this._maxLength *= 2
                }, ShapePath.prototype.setXYAt = function(t, e, a, i, r) {
                    var s;
                    switch (this._length = Math.max(this._length, i + 1), this._length >= this._maxLength && this.doubleArrayLength(), a) {
                        case "v":
                            s = this.v;
                            break;
                        case "i":
                            s = this.i;
                            break;
                        case "o":
                            s = this.o;
                            break;
                        default:
                            s = []
                    }(!s[i] || s[i] && !r) && (s[i] = pointPool.newElement()), s[i][0] = t, s[i][1] = e
                }, ShapePath.prototype.setTripleAt = function(t, e, a, i, r, s, n, o) {
                    this.setXYAt(t, e, "v", n, o), this.setXYAt(a, i, "o", n, o), this.setXYAt(r, s, "i", n, o)
                }, ShapePath.prototype.reverse = function() {
                    var t = new ShapePath;
                    t.setPathData(this.c, this._length);
                    var e = this.v,
                        a = this.o,
                        i = this.i,
                        r = 0;
                    this.c && (t.setTripleAt(e[0][0], e[0][1], i[0][0], i[0][1], a[0][0], a[0][1], 0, !1), r = 1);
                    var s, n = this._length - 1,
                        o = this._length;
                    for (s = r; s < o; s += 1) t.setTripleAt(e[n][0], e[n][1], i[n][0], i[n][1], a[n][0], a[n][1], s, !1), n -= 1;
                    return t
                };
                var ShapePropertyFactory = function() {
                        function t(t, e, a) {
                            var i, r, s, n, o, l, h, p, c, m = a.lastIndex,
                                d = this.keyframes;
                            if (t < d[0].t - this.offsetTime) i = d[0].s[0], s = !0, m = 0;
                            else if (t >= d[d.length - 1].t - this.offsetTime) i = d[d.length - 1].s ? d[d.length - 1].s[0] : d[d.length - 2].e[0], s = !0;
                            else {
                                for (var f, u, g = m, y = d.length - 1, v = !0; v && (f = d[g], !((u = d[g + 1]).t - this.offsetTime > t));) g < y - 1 ? g += 1 : v = !1;
                                if (m = g, !(s = 1 === f.h)) {
                                    if (t >= u.t - this.offsetTime) p = 1;
                                    else if (t < f.t - this.offsetTime) p = 0;
                                    else {
                                        var x;
                                        f.__fnct ? x = f.__fnct : (x = BezierFactory.getBezierEasing(f.o.x, f.o.y, f.i.x, f.i.y).get, f.__fnct = x), p = x((t - (f.t - this.offsetTime)) / (u.t - this.offsetTime - (f.t - this.offsetTime)))
                                    }
                                    r = u.s ? u.s[0] : f.e[0]
                                }
                                i = f.s[0]
                            }
                            for (l = e._length, h = i.i[0].length, a.lastIndex = m, n = 0; n < l; n += 1)
                                for (o = 0; o < h; o += 1) c = s ? i.i[n][o] : i.i[n][o] + (r.i[n][o] - i.i[n][o]) * p, e.i[n][o] = c, c = s ? i.o[n][o] : i.o[n][o] + (r.o[n][o] - i.o[n][o]) * p, e.o[n][o] = c, c = s ? i.v[n][o] : i.v[n][o] + (r.v[n][o] - i.v[n][o]) * p, e.v[n][o] = c
                        }

                        function e() {
                            var t = this.comp.renderedFrame - this.offsetTime,
                                e = this.keyframes[0].t - this.offsetTime,
                                a = this.keyframes[this.keyframes.length - 1].t - this.offsetTime,
                                i = this._caching.lastFrame;
                            return -999999 !== i && (i < e && t < e || i > a && t > a) || (this._caching.lastIndex = i < t ? this._caching.lastIndex : 0, this.interpolateShape(t, this.pv, this._caching)), this._caching.lastFrame = t, this.pv
                        }

                        function a() {
                            this.paths = this.localShapeCollection
                        }

                        function i(t) {
                            (function(t, e) {
                                if (t._length !== e._length || t.c !== e.c) return !1;
                                var a, i = t._length;
                                for (a = 0; a < i; a += 1)
                                    if (t.v[a][0] !== e.v[a][0] || t.v[a][1] !== e.v[a][1] || t.o[a][0] !== e.o[a][0] || t.o[a][1] !== e.o[a][1] || t.i[a][0] !== e.i[a][0] || t.i[a][1] !== e.i[a][1]) return !1;
                                return !0
                            })(this.v, t) || (this.v = shapePool.clone(t), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection)
                        }

                        function r() {
                            if (this.elem.globalData.frameId !== this.frameId)
                                if (this.effectsSequence.length)
                                    if (this.lock) this.setVValue(this.pv);
                                    else {
                                        var t, e;
                                        this.lock = !0, this._mdf = !1, t = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;
                                        var a = this.effectsSequence.length;
                                        for (e = 0; e < a; e += 1) t = this.effectsSequence[e](t);
                                        this.setVValue(t), this.lock = !1, this.frameId = this.elem.globalData.frameId
                                    } else this._mdf = !1
                        }

                        function s(t, e, i) {
                            this.propType = "shape", this.comp = t.comp, this.container = t, this.elem = t, this.data = e, this.k = !1, this.kf = !1, this._mdf = !1;
                            var r = 3 === i ? e.pt.k : e.ks.k;
                            this.v = shapePool.clone(r), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = a, this.effectsSequence = []
                        }

                        function n(t) {
                            this.effectsSequence.push(t), this.container.addDynamicProperty(this)
                        }

                        function o(t, i, r) {
                            this.propType = "shape", this.comp = t.comp, this.elem = t, this.container = t, this.offsetTime = t.data.st, this.keyframes = 3 === r ? i.pt.k : i.ks.k, this.k = !0, this.kf = !0;
                            var s = this.keyframes[0].s[0].i.length;
                            this.v = shapePool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, s), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = -999999, this.reset = a, this._caching = {
                                lastFrame: -999999,
                                lastIndex: 0
                            }, this.effectsSequence = [e.bind(this)]
                        }
                        s.prototype.interpolateShape = t, s.prototype.getValue = r, s.prototype.setVValue = i, s.prototype.addEffect = n, o.prototype.getValue = r, o.prototype.interpolateShape = t, o.prototype.setVValue = i, o.prototype.addEffect = n;
                        var l = function() {
                                var t = roundCorner;

                                function e(t, e) {
                                    this.v = shapePool.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = e.d, this.elem = t, this.comp = t.comp, this.frameId = -1, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath())
                                }
                                return e.prototype = {
                                    reset: a,
                                    getValue: function() {
                                        this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath())
                                    },
                                    convertEllToPath: function() {
                                        var e = this.p.v[0],
                                            a = this.p.v[1],
                                            i = this.s.v[0] / 2,
                                            r = this.s.v[1] / 2,
                                            s = 3 !== this.d,
                                            n = this.v;
                                        n.v[0][0] = e, n.v[0][1] = a - r, n.v[1][0] = s ? e + i : e - i, n.v[1][1] = a, n.v[2][0] = e, n.v[2][1] = a + r, n.v[3][0] = s ? e - i : e + i, n.v[3][1] = a, n.i[0][0] = s ? e - i * t : e + i * t, n.i[0][1] = a - r, n.i[1][0] = s ? e + i : e - i, n.i[1][1] = a - r * t, n.i[2][0] = s ? e + i * t : e - i * t, n.i[2][1] = a + r, n.i[3][0] = s ? e - i : e + i, n.i[3][1] = a + r * t, n.o[0][0] = s ? e + i * t : e - i * t, n.o[0][1] = a - r, n.o[1][0] = s ? e + i : e - i, n.o[1][1] = a + r * t, n.o[2][0] = s ? e - i * t : e + i * t, n.o[2][1] = a + r, n.o[3][0] = s ? e - i : e + i, n.o[3][1] = a - r * t
                                    }
                                }, extendPrototype([DynamicPropertyContainer], e), e
                            }(),
                            h = function() {
                                function t(t, e) {
                                    this.v = shapePool.newElement(), this.v.setPathData(!0, 0), this.elem = t, this.comp = t.comp, this.data = e, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), 1 === e.sy ? (this.ir = PropertyFactory.getProp(t, e.ir, 0, 0, this), this.is = PropertyFactory.getProp(t, e.is, 0, .01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = PropertyFactory.getProp(t, e.pt, 0, 0, this), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, degToRads, this), this.or = PropertyFactory.getProp(t, e.or, 0, 0, this), this.os = PropertyFactory.getProp(t, e.os, 0, .01, this), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath())
                                }
                                return t.prototype = {
                                    reset: a,
                                    getValue: function() {
                                        this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath())
                                    },
                                    convertStarToPath: function() {
                                        var t, e, a, i, r = 2 * Math.floor(this.pt.v),
                                            s = 2 * Math.PI / r,
                                            n = !0,
                                            o = this.or.v,
                                            l = this.ir.v,
                                            h = this.os.v,
                                            p = this.is.v,
                                            c = 2 * Math.PI * o / (2 * r),
                                            m = 2 * Math.PI * l / (2 * r),
                                            d = -Math.PI / 2;
                                        d += this.r.v;
                                        var f = 3 === this.data.d ? -1 : 1;
                                        for (this.v._length = 0, t = 0; t < r; t += 1) {
                                            a = n ? h : p, i = n ? c : m;
                                            var u = (e = n ? o : l) * Math.cos(d),
                                                g = e * Math.sin(d),
                                                y = 0 === u && 0 === g ? 0 : g / Math.sqrt(u * u + g * g),
                                                v = 0 === u && 0 === g ? 0 : -u / Math.sqrt(u * u + g * g);
                                            u += +this.p.v[0], g += +this.p.v[1], this.v.setTripleAt(u, g, u - y * i * a * f, g - v * i * a * f, u + y * i * a * f, g + v * i * a * f, t, !0), n = !n, d += s * f
                                        }
                                    },
                                    convertPolygonToPath: function() {
                                        var t, e = Math.floor(this.pt.v),
                                            a = 2 * Math.PI / e,
                                            i = this.or.v,
                                            r = this.os.v,
                                            s = 2 * Math.PI * i / (4 * e),
                                            n = .5 * -Math.PI,
                                            o = 3 === this.data.d ? -1 : 1;
                                        for (n += this.r.v, this.v._length = 0, t = 0; t < e; t += 1) {
                                            var l = i * Math.cos(n),
                                                h = i * Math.sin(n),
                                                p = 0 === l && 0 === h ? 0 : h / Math.sqrt(l * l + h * h),
                                                c = 0 === l && 0 === h ? 0 : -l / Math.sqrt(l * l + h * h);
                                            l += +this.p.v[0], h += +this.p.v[1], this.v.setTripleAt(l, h, l - p * s * r * o, h - c * s * r * o, l + p * s * r * o, h + c * s * r * o, t, !0), n += a * o
                                        }
                                        this.paths.length = 0, this.paths[0] = this.v
                                    }
                                }, extendPrototype([DynamicPropertyContainer], t), t
                            }(),
                            p = function() {
                                function t(t, e) {
                                    this.v = shapePool.newElement(), this.v.c = !0, this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = t, this.comp = t.comp, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath())
                                }
                                return t.prototype = {
                                    convertRectToPath: function() {
                                        var t = this.p.v[0],
                                            e = this.p.v[1],
                                            a = this.s.v[0] / 2,
                                            i = this.s.v[1] / 2,
                                            r = bmMin(a, i, this.r.v),
                                            s = r * (1 - roundCorner);
                                        this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t + a, e - i + r, t + a, e - i + r, t + a, e - i + s, 0, !0), this.v.setTripleAt(t + a, e + i - r, t + a, e + i - s, t + a, e + i - r, 1, !0), 0 !== r ? (this.v.setTripleAt(t + a - r, e + i, t + a - r, e + i, t + a - s, e + i, 2, !0), this.v.setTripleAt(t - a + r, e + i, t - a + s, e + i, t - a + r, e + i, 3, !0), this.v.setTripleAt(t - a, e + i - r, t - a, e + i - r, t - a, e + i - s, 4, !0), this.v.setTripleAt(t - a, e - i + r, t - a, e - i + s, t - a, e - i + r, 5, !0), this.v.setTripleAt(t - a + r, e - i, t - a + r, e - i, t - a + s, e - i, 6, !0), this.v.setTripleAt(t + a - r, e - i, t + a - s, e - i, t + a - r, e - i, 7, !0)) : (this.v.setTripleAt(t - a, e + i, t - a + s, e + i, t - a, e + i, 2), this.v.setTripleAt(t - a, e - i, t - a, e - i + s, t - a, e - i, 3))) : (this.v.setTripleAt(t + a, e - i + r, t + a, e - i + s, t + a, e - i + r, 0, !0), 0 !== r ? (this.v.setTripleAt(t + a - r, e - i, t + a - r, e - i, t + a - s, e - i, 1, !0), this.v.setTripleAt(t - a + r, e - i, t - a + s, e - i, t - a + r, e - i, 2, !0), this.v.setTripleAt(t - a, e - i + r, t - a, e - i + r, t - a, e - i + s, 3, !0), this.v.setTripleAt(t - a, e + i - r, t - a, e + i - s, t - a, e + i - r, 4, !0), this.v.setTripleAt(t - a + r, e + i, t - a + r, e + i, t - a + s, e + i, 5, !0), this.v.setTripleAt(t + a - r, e + i, t + a - s, e + i, t + a - r, e + i, 6, !0), this.v.setTripleAt(t + a, e + i - r, t + a, e + i - r, t + a, e + i - s, 7, !0)) : (this.v.setTripleAt(t - a, e - i, t - a + s, e - i, t - a, e - i, 1, !0), this.v.setTripleAt(t - a, e + i, t - a, e + i - s, t - a, e + i, 2, !0), this.v.setTripleAt(t + a, e + i, t + a - s, e + i, t + a, e + i, 3, !0)))
                                    },
                                    getValue: function() {
                                        this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath())
                                    },
                                    reset: a
                                }, extendPrototype([DynamicPropertyContainer], t), t
                            }();
                        var c = {
                            getShapeProp: function(t, e, a) {
                                var i;
                                return 3 === a || 4 === a ? i = (3 === a ? e.pt : e.ks).k.length ? new o(t, e, a) : new s(t, e, a) : 5 === a ? i = new p(t, e) : 6 === a ? i = new l(t, e) : 7 === a && (i = new h(t, e)), i.k && t.addDynamicProperty(i), i
                            },
                            getConstructorFunction: function() {
                                return s
                            },
                            getKeyframedConstructorFunction: function() {
                                return o
                            }
                        };
                        return c
                    }(),
                    ShapeModifiers = (ob = {}, modifiers = {}, ob.registerModifier = function(t, e) {
                        modifiers[t] || (modifiers[t] = e)
                    }, ob.getModifier = function(t, e, a) {
                        return new modifiers[t](e, a)
                    }, ob),
                    ob, modifiers;

                function ShapeModifier() {}

                function TrimModifier() {}

                function RoundCornersModifier() {}

                function PuckerAndBloatModifier() {}

                function RepeaterModifier() {}

                function ShapeCollection() {
                    this._length = 0, this._maxLength = 4, this.shapes = createSizedArray(this._maxLength)
                }

                function DashProperty(t, e, a, i) {
                    var r;
                    this.elem = t, this.frameId = -1, this.dataProps = createSizedArray(e.length), this.renderer = a, this.k = !1, this.dashStr = "", this.dashArray = createTypedArray("float32", e.length ? e.length - 1 : 0), this.dashoffset = createTypedArray("float32", 1), this.initDynamicPropertyContainer(i);
                    var s, n = e.length || 0;
                    for (r = 0; r < n; r += 1) s = PropertyFactory.getProp(t, e[r].v, 0, 0, this), this.k = s.k || this.k, this.dataProps[r] = {
                        n: e[r].n,
                        p: s
                    };
                    this.k || this.getValue(!0), this._isAnimated = this.k
                }

                function GradientProperty(t, e, a) {
                    this.data = e, this.c = createTypedArray("uint8c", 4 * e.p);
                    var i = e.k.k[0].s ? e.k.k[0].s.length - 4 * e.p : e.k.k.length - 4 * e.p;
                    this.o = createTypedArray("float32", i), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = i, this.initDynamicPropertyContainer(a), this.prop = PropertyFactory.getProp(t, e.k, 1, null, this), this.k = this.prop.k, this.getValue(!0)
                }
                ShapeModifier.prototype.initModifierProperties = function() {}, ShapeModifier.prototype.addShapeToModifier = function() {}, ShapeModifier.prototype.addShape = function(t) {
                    if (!this.closed) {
                        t.sh.container.addDynamicProperty(t.sh);
                        var e = {
                            shape: t.sh,
                            data: t,
                            localShapeCollection: shapeCollectionPool.newShapeCollection()
                        };
                        this.shapes.push(e), this.addShapeToModifier(e), this._isAnimated && t.setAsAnimated()
                    }
                }, ShapeModifier.prototype.init = function(t, e) {
                    this.shapes = [], this.elem = t, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e), this.frameId = initialDefaultFrame, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)
                }, ShapeModifier.prototype.processKeys = function() {
                    this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties())
                }, extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), TrimModifier.prototype.initModifierProperties = function(t, e) {
                    this.s = PropertyFactory.getProp(t, e.s, 0, .01, this), this.e = PropertyFactory.getProp(t, e.e, 0, .01, this), this.o = PropertyFactory.getProp(t, e.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = e.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length
                }, TrimModifier.prototype.addShapeToModifier = function(t) {
                    t.pathsData = []
                }, TrimModifier.prototype.calculateShapeEdges = function(t, e, a, i, r) {
                    var s = [];
                    e <= 1 ? s.push({
                        s: t,
                        e: e
                    }) : t >= 1 ? s.push({
                        s: t - 1,
                        e: e - 1
                    }) : (s.push({
                        s: t,
                        e: 1
                    }), s.push({
                        s: 0,
                        e: e - 1
                    }));
                    var n, o, l = [],
                        h = s.length;
                    for (n = 0; n < h; n += 1) {
                        var p, c;
                        if (!((o = s[n]).e * r < i || o.s * r > i + a)) p = o.s * r <= i ? 0 : (o.s * r - i) / a, c = o.e * r >= i + a ? 1 : (o.e * r - i) / a, l.push([p, c])
                    }
                    return l.length || l.push([0, 0]), l
                }, TrimModifier.prototype.releasePathsData = function(t) {
                    var e, a = t.length;
                    for (e = 0; e < a; e += 1) segmentsLengthPool.release(t[e]);
                    return t.length = 0, t
                }, TrimModifier.prototype.processShapes = function(t) {
                    var e, a, i, r;
                    if (this._mdf || t) {
                        var s = this.o.v % 360 / 360;
                        if (s < 0 && (s += 1), (e = this.s.v > 1 ? 1 + s : this.s.v < 0 ? 0 + s : this.s.v + s) > (a = this.e.v > 1 ? 1 + s : this.e.v < 0 ? 0 + s : this.e.v + s)) {
                            var n = e;
                            e = a, a = n
                        }
                        e = 1e-4 * Math.round(1e4 * e), a = 1e-4 * Math.round(1e4 * a), this.sValue = e, this.eValue = a
                    } else e = this.sValue, a = this.eValue;
                    var o, l, h, p, c, m = this.shapes.length,
                        d = 0;
                    if (a === e)
                        for (r = 0; r < m; r += 1) this.shapes[r].localShapeCollection.releaseShapes(), this.shapes[r].shape._mdf = !0, this.shapes[r].shape.paths = this.shapes[r].localShapeCollection, this._mdf && (this.shapes[r].pathsData.length = 0);
                    else if (1 === a && 0 === e || 0 === a && 1 === e) {
                        if (this._mdf)
                            for (r = 0; r < m; r += 1) this.shapes[r].pathsData.length = 0, this.shapes[r].shape._mdf = !0
                    } else {
                        var f, u, g = [];
                        for (r = 0; r < m; r += 1)
                            if ((f = this.shapes[r]).shape._mdf || this._mdf || t || 2 === this.m) {
                                if (l = (i = f.shape.paths)._length, c = 0, !f.shape._mdf && f.pathsData.length) c = f.totalShapeLength;
                                else {
                                    for (h = this.releasePathsData(f.pathsData), o = 0; o < l; o += 1) p = bez.getSegmentsLength(i.shapes[o]), h.push(p), c += p.totalLength;
                                    f.totalShapeLength = c, f.pathsData = h
                                }
                                d += c, f.shape._mdf = !0
                            } else f.shape.paths = f.localShapeCollection;
                        var y, v = e,
                            x = a,
                            k = 0;
                        for (r = m - 1; r >= 0; r -= 1)
                            if ((f = this.shapes[r]).shape._mdf) {
                                for ((u = f.localShapeCollection).releaseShapes(), 2 === this.m && m > 1 ? (y = this.calculateShapeEdges(e, a, f.totalShapeLength, k, d), k += f.totalShapeLength) : y = [
                                    [v, x]
                                ], l = y.length, o = 0; o < l; o += 1) {
                                    v = y[o][0], x = y[o][1], g.length = 0, x <= 1 ? g.push({
                                        s: f.totalShapeLength * v,
                                        e: f.totalShapeLength * x
                                    }) : v >= 1 ? g.push({
                                        s: f.totalShapeLength * (v - 1),
                                        e: f.totalShapeLength * (x - 1)
                                    }) : (g.push({
                                        s: f.totalShapeLength * v,
                                        e: f.totalShapeLength
                                    }), g.push({
                                        s: 0,
                                        e: f.totalShapeLength * (x - 1)
                                    }));
                                    var b = this.addShapes(f, g[0]);
                                    if (g[0].s !== g[0].e) {
                                        if (g.length > 1)
                                            if (f.shape.paths.shapes[f.shape.paths._length - 1].c) {
                                                var E = b.pop();
                                                this.addPaths(b, u), b = this.addShapes(f, g[1], E)
                                            } else this.addPaths(b, u), b = this.addShapes(f, g[1]);
                                        this.addPaths(b, u)
                                    }
                                }
                                f.shape.paths = u
                            }
                    }
                }, TrimModifier.prototype.addPaths = function(t, e) {
                    var a, i = t.length;
                    for (a = 0; a < i; a += 1) e.addShape(t[a])
                }, TrimModifier.prototype.addSegment = function(t, e, a, i, r, s, n) {
                    r.setXYAt(e[0], e[1], "o", s), r.setXYAt(a[0], a[1], "i", s + 1), n && r.setXYAt(t[0], t[1], "v", s), r.setXYAt(i[0], i[1], "v", s + 1)
                }, TrimModifier.prototype.addSegmentFromArray = function(t, e, a, i) {
                    e.setXYAt(t[1], t[5], "o", a), e.setXYAt(t[2], t[6], "i", a + 1), i && e.setXYAt(t[0], t[4], "v", a), e.setXYAt(t[3], t[7], "v", a + 1)
                }, TrimModifier.prototype.addShapes = function(t, e, a) {
                    var i, r, s, n, o, l, h, p, c = t.pathsData,
                        m = t.shape.paths.shapes,
                        d = t.shape.paths._length,
                        f = 0,
                        u = [],
                        g = !0;
                    for (a ? (o = a._length, p = a._length) : (a = shapePool.newElement(), o = 0, p = 0), u.push(a), i = 0; i < d; i += 1) {
                        for (l = c[i].lengths, a.c = m[i].c, s = m[i].c ? l.length : l.length + 1, r = 1; r < s; r += 1)
                            if (f + (n = l[r - 1]).addedLength < e.s) f += n.addedLength, a.c = !1;
                            else {
                                if (f > e.e) {
                                    a.c = !1;
                                    break
                                }
                                e.s <= f && e.e >= f + n.addedLength ? (this.addSegment(m[i].v[r - 1], m[i].o[r - 1], m[i].i[r], m[i].v[r], a, o, g), g = !1) : (h = bez.getNewSegment(m[i].v[r - 1], m[i].v[r], m[i].o[r - 1], m[i].i[r], (e.s - f) / n.addedLength, (e.e - f) / n.addedLength, l[r - 1]), this.addSegmentFromArray(h, a, o, g), g = !1, a.c = !1), f += n.addedLength, o += 1
                            }
                        if (m[i].c && l.length) {
                            if (n = l[r - 1], f <= e.e) {
                                var y = l[r - 1].addedLength;
                                e.s <= f && e.e >= f + y ? (this.addSegment(m[i].v[r - 1], m[i].o[r - 1], m[i].i[0], m[i].v[0], a, o, g), g = !1) : (h = bez.getNewSegment(m[i].v[r - 1], m[i].v[0], m[i].o[r - 1], m[i].i[0], (e.s - f) / y, (e.e - f) / y, l[r - 1]), this.addSegmentFromArray(h, a, o, g), g = !1, a.c = !1)
                            } else a.c = !1;
                            f += n.addedLength, o += 1
                        }
                        if (a._length && (a.setXYAt(a.v[p][0], a.v[p][1], "i", p), a.setXYAt(a.v[a._length - 1][0], a.v[a._length - 1][1], "o", a._length - 1)), f > e.e) break;
                        i < d - 1 && (a = shapePool.newElement(), g = !0, u.push(a), o = 0)
                    }
                    return u
                }, ShapeModifiers.registerModifier("tm", TrimModifier), extendPrototype([ShapeModifier], RoundCornersModifier), RoundCornersModifier.prototype.initModifierProperties = function(t, e) {
                    this.getValue = this.processKeys, this.rd = PropertyFactory.getProp(t, e.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length
                }, RoundCornersModifier.prototype.processPath = function(t, e) {
                    var a, i = shapePool.newElement();
                    i.c = t.c;
                    var r, s, n, o, l, h, p, c, m, d, f, u, g = t._length,
                        y = 0;
                    for (a = 0; a < g; a += 1) r = t.v[a], n = t.o[a], s = t.i[a], r[0] === n[0] && r[1] === n[1] && r[0] === s[0] && r[1] === s[1] ? 0 !== a && a !== g - 1 || t.c ? (o = 0 === a ? t.v[g - 1] : t.v[a - 1], h = (l = Math.sqrt(Math.pow(r[0] - o[0], 2) + Math.pow(r[1] - o[1], 2))) ? Math.min(l / 2, e) / l : 0, p = f = r[0] + (o[0] - r[0]) * h, c = u = r[1] - (r[1] - o[1]) * h, m = p - (p - r[0]) * roundCorner, d = c - (c - r[1]) * roundCorner, i.setTripleAt(p, c, m, d, f, u, y), y += 1, o = a === g - 1 ? t.v[0] : t.v[a + 1], h = (l = Math.sqrt(Math.pow(r[0] - o[0], 2) + Math.pow(r[1] - o[1], 2))) ? Math.min(l / 2, e) / l : 0, p = m = r[0] + (o[0] - r[0]) * h, c = d = r[1] + (o[1] - r[1]) * h, f = p - (p - r[0]) * roundCorner, u = c - (c - r[1]) * roundCorner, i.setTripleAt(p, c, m, d, f, u, y), y += 1) : (i.setTripleAt(r[0], r[1], n[0], n[1], s[0], s[1], y), y += 1) : (i.setTripleAt(t.v[a][0], t.v[a][1], t.o[a][0], t.o[a][1], t.i[a][0], t.i[a][1], y), y += 1);
                    return i
                }, RoundCornersModifier.prototype.processShapes = function(t) {
                    var e, a, i, r, s, n, o = this.shapes.length,
                        l = this.rd.v;
                    if (0 !== l)
                        for (a = 0; a < o; a += 1) {
                            if (n = (s = this.shapes[a]).localShapeCollection, s.shape._mdf || this._mdf || t)
                                for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, r = s.shape.paths._length, i = 0; i < r; i += 1) n.addShape(this.processPath(e[i], l));
                            s.shape.paths = s.localShapeCollection
                        }
                    this.dynamicProperties.length || (this._mdf = !1)
                }, ShapeModifiers.registerModifier("rd", RoundCornersModifier), extendPrototype([ShapeModifier], PuckerAndBloatModifier), PuckerAndBloatModifier.prototype.initModifierProperties = function(t, e) {
                    this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t, e.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length
                }, PuckerAndBloatModifier.prototype.processPath = function(t, e) {
                    var a = e / 100,
                        i = [0, 0],
                        r = t._length,
                        s = 0;
                    for (s = 0; s < r; s += 1) i[0] += t.v[s][0], i[1] += t.v[s][1];
                    i[0] /= r, i[1] /= r;
                    var n, o, l, h, p, c, m = shapePool.newElement();
                    for (m.c = t.c, s = 0; s < r; s += 1) n = t.v[s][0] + (i[0] - t.v[s][0]) * a, o = t.v[s][1] + (i[1] - t.v[s][1]) * a, l = t.o[s][0] + (i[0] - t.o[s][0]) * -a, h = t.o[s][1] + (i[1] - t.o[s][1]) * -a, p = t.i[s][0] + (i[0] - t.i[s][0]) * -a, c = t.i[s][1] + (i[1] - t.i[s][1]) * -a, m.setTripleAt(n, o, l, h, p, c, s);
                    return m
                }, PuckerAndBloatModifier.prototype.processShapes = function(t) {
                    var e, a, i, r, s, n, o = this.shapes.length,
                        l = this.amount.v;
                    if (0 !== l)
                        for (a = 0; a < o; a += 1) {
                            if (n = (s = this.shapes[a]).localShapeCollection, s.shape._mdf || this._mdf || t)
                                for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, r = s.shape.paths._length, i = 0; i < r; i += 1) n.addShape(this.processPath(e[i], l));
                            s.shape.paths = s.localShapeCollection
                        }
                    this.dynamicProperties.length || (this._mdf = !1)
                }, ShapeModifiers.registerModifier("pb", PuckerAndBloatModifier), extendPrototype([ShapeModifier], RepeaterModifier), RepeaterModifier.prototype.initModifierProperties = function(t, e) {
                    this.getValue = this.processKeys, this.c = PropertyFactory.getProp(t, e.c, 0, null, this), this.o = PropertyFactory.getProp(t, e.o, 0, null, this), this.tr = TransformPropertyFactory.getTransformProperty(t, e.tr, this), this.so = PropertyFactory.getProp(t, e.tr.so, 0, .01, this), this.eo = PropertyFactory.getProp(t, e.tr.eo, 0, .01, this), this.data = e, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Matrix, this.rMatrix = new Matrix, this.sMatrix = new Matrix, this.tMatrix = new Matrix, this.matrix = new Matrix
                }, RepeaterModifier.prototype.applyTransforms = function(t, e, a, i, r, s) {
                    var n = s ? -1 : 1,
                        o = i.s.v[0] + (1 - i.s.v[0]) * (1 - r),
                        l = i.s.v[1] + (1 - i.s.v[1]) * (1 - r);
                    t.translate(i.p.v[0] * n * r, i.p.v[1] * n * r, i.p.v[2]), e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), e.rotate(-i.r.v * n * r), e.translate(i.a.v[0], i.a.v[1], i.a.v[2]), a.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), a.scale(s ? 1 / o : o, s ? 1 / l : l), a.translate(i.a.v[0], i.a.v[1], i.a.v[2])
                }, RepeaterModifier.prototype.init = function(t, e, a, i) {
                    for (this.elem = t, this.arr = e, this.pos = a, this.elemsData = i, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[a]); a > 0;) a -= 1, this._elements.unshift(e[a]);
                    this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)
                }, RepeaterModifier.prototype.resetElements = function(t) {
                    var e, a = t.length;
                    for (e = 0; e < a; e += 1) t[e]._processed = !1, "gr" === t[e].ty && this.resetElements(t[e].it)
                }, RepeaterModifier.prototype.cloneElements = function(t) {
                    var e = JSON.parse(JSON.stringify(t));
                    return this.resetElements(e), e
                }, RepeaterModifier.prototype.changeGroupRender = function(t, e) {
                    var a, i = t.length;
                    for (a = 0; a < i; a += 1) t[a]._render = e, "gr" === t[a].ty && this.changeGroupRender(t[a].it, e)
                }, RepeaterModifier.prototype.processShapes = function(t) {
                    var e, a, i, r, s, n = !1;
                    if (this._mdf || t) {
                        var o, l = Math.ceil(this.c.v);
                        if (this._groups.length < l) {
                            for (; this._groups.length < l;) {
                                var h = {
                                    it: this.cloneElements(this._elements),
                                    ty: "gr"
                                };
                                h.it.push({
                                    a: {
                                        a: 0,
                                        ix: 1,
                                        k: [0, 0]
                                    },
                                    nm: "Transform",
                                    o: {
                                        a: 0,
                                        ix: 7,
                                        k: 100
                                    },
                                    p: {
                                        a: 0,
                                        ix: 2,
                                        k: [0, 0]
                                    },
                                    r: {
                                        a: 1,
                                        ix: 6,
                                        k: [{
                                            s: 0,
                                            e: 0,
                                            t: 0
                                        }, {
                                            s: 0,
                                            e: 0,
                                            t: 1
                                        }]
                                    },
                                    s: {
                                        a: 0,
                                        ix: 3,
                                        k: [100, 100]
                                    },
                                    sa: {
                                        a: 0,
                                        ix: 5,
                                        k: 0
                                    },
                                    sk: {
                                        a: 0,
                                        ix: 4,
                                        k: 0
                                    },
                                    ty: "tr"
                                }), this.arr.splice(0, 0, h), this._groups.splice(0, 0, h), this._currentCopies += 1
                            }
                            this.elem.reloadShapes(), n = !0
                        }
                        for (s = 0, i = 0; i <= this._groups.length - 1; i += 1) {
                            if (o = s < l, this._groups[i]._render = o, this.changeGroupRender(this._groups[i].it, o), !o) {
                                var p = this.elemsData[i].it,
                                    c = p[p.length - 1];
                                0 !== c.transform.op.v ? (c.transform.op._mdf = !0, c.transform.op.v = 0) : c.transform.op._mdf = !1
                            }
                            s += 1
                        }
                        this._currentCopies = l;
                        var m = this.o.v,
                            d = m % 1,
                            f = m > 0 ? Math.floor(m) : Math.ceil(m),
                            u = this.pMatrix.props,
                            g = this.rMatrix.props,
                            y = this.sMatrix.props;
                        this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();
                        var v, x, k = 0;
                        if (m > 0) {
                            for (; k < f;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), k += 1;
                            d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, d, !1), k += d)
                        } else if (m < 0) {
                            for (; k > f;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), k -= 1;
                            d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -d, !0), k -= d)
                        }
                        for (i = 1 === this.data.m ? 0 : this._currentCopies - 1, r = 1 === this.data.m ? 1 : -1, s = this._currentCopies; s;) {
                            if (x = (a = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props).length, e[e.length - 1].transform.mProps._mdf = !0, e[e.length - 1].transform.op._mdf = !0, e[e.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)), 0 !== k) {
                                for ((0 !== i && 1 === r || i !== this._currentCopies - 1 && -1 === r) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15]), this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]), this.matrix.transform(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]), v = 0; v < x; v += 1) a[v] = this.matrix.props[v];
                                this.matrix.reset()
                            } else
                                for (this.matrix.reset(), v = 0; v < x; v += 1) a[v] = this.matrix.props[v];
                            k += 1, s -= 1, i += r
                        }
                    } else
                        for (s = this._currentCopies, i = 0, r = 1; s;) a = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props, e[e.length - 1].transform.mProps._mdf = !1, e[e.length - 1].transform.op._mdf = !1, s -= 1, i += r;
                    return n
                }, RepeaterModifier.prototype.addShape = function() {}, ShapeModifiers.registerModifier("rp", RepeaterModifier), ShapeCollection.prototype.addShape = function(t) {
                    this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = t, this._length += 1
                }, ShapeCollection.prototype.releaseShapes = function() {
                    var t;
                    for (t = 0; t < this._length; t += 1) shapePool.release(this.shapes[t]);
                    this._length = 0
                }, DashProperty.prototype.getValue = function(t) {
                    if ((this.elem.globalData.frameId !== this.frameId || t) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || t, this._mdf)) {
                        var e = 0,
                            a = this.dataProps.length;
                        for ("svg" === this.renderer && (this.dashStr = ""), e = 0; e < a; e += 1) "o" !== this.dataProps[e].n ? "svg" === this.renderer ? this.dashStr += " " + this.dataProps[e].p.v : this.dashArray[e] = this.dataProps[e].p.v : this.dashoffset[0] = this.dataProps[e].p.v
                    }
                }, extendPrototype([DynamicPropertyContainer], DashProperty), GradientProperty.prototype.comparePoints = function(t, e) {
                    for (var a = 0, i = this.o.length / 2; a < i;) {
                        if (Math.abs(t[4 * a] - t[4 * e + 2 * a]) > .01) return !1;
                        a += 1
                    }
                    return !0
                }, GradientProperty.prototype.checkCollapsable = function() {
                    if (this.o.length / 2 != this.c.length / 4) return !1;
                    if (this.data.k.k[0].s)
                        for (var t = 0, e = this.data.k.k.length; t < e;) {
                            if (!this.comparePoints(this.data.k.k[t].s, this.data.p)) return !1;
                            t += 1
                        } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;
                    return !0
                }, GradientProperty.prototype.getValue = function(t) {
                    if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || t) {
                        var e, a, i, r = 4 * this.data.p;
                        for (e = 0; e < r; e += 1) a = e % 4 == 0 ? 100 : 255, i = Math.round(this.prop.v[e] * a), this.c[e] !== i && (this.c[e] = i, this._cmdf = !t);
                        if (this.o.length)
                            for (r = this.prop.v.length, e = 4 * this.data.p; e < r; e += 1) a = e % 2 == 0 ? 100 : 1, i = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e], this.o[e - 4 * this.data.p] !== i && (this.o[e - 4 * this.data.p] = i, this._omdf = !t);
                        this._mdf = !t
                    }
                }, extendPrototype([DynamicPropertyContainer], GradientProperty);
                var buildShapeString = function(t, e, a, i) {
                        if (0 === e) return "";
                        var r, s = t.o,
                            n = t.i,
                            o = t.v,
                            l = " M" + i.applyToPointStringified(o[0][0], o[0][1]);
                        for (r = 1; r < e; r += 1) l += " C" + i.applyToPointStringified(s[r - 1][0], s[r - 1][1]) + " " + i.applyToPointStringified(n[r][0], n[r][1]) + " " + i.applyToPointStringified(o[r][0], o[r][1]);
                        return a && e && (l += " C" + i.applyToPointStringified(s[r - 1][0], s[r - 1][1]) + " " + i.applyToPointStringified(n[0][0], n[0][1]) + " " + i.applyToPointStringified(o[0][0], o[0][1]), l += "z"), l
                    },
                    audioControllerFactory = function() {
                        function t(t) {
                            this.audios = [], this.audioFactory = t, this._volume = 1, this._isMuted = !1
                        }
                        return t.prototype = {
                                addAudio: function(t) {
                                    this.audios.push(t)
                                },
                                pause: function() {
                                    var t, e = this.audios.length;
                                    for (t = 0; t < e; t += 1) this.audios[t].pause()
                                },
                                resume: function() {
                                    var t, e = this.audios.length;
                                    for (t = 0; t < e; t += 1) this.audios[t].resume()
                                },
                                setRate: function(t) {
                                    var e, a = this.audios.length;
                                    for (e = 0; e < a; e += 1) this.audios[e].setRate(t)
                                },
                                createAudio: function(t) {
                                    return this.audioFactory ? this.audioFactory(t) : Howl ? new Howl({
                                        src: [t]
                                    }) : {
                                        isPlaying: !1,
                                        play: function() {
                                            this.isPlaying = !0
                                        },
                                        seek: function() {
                                            this.isPlaying = !1
                                        },
                                        playing: function() {},
                                        rate: function() {},
                                        setVolume: function() {}
                                    }
                                },
                                setAudioFactory: function(t) {
                                    this.audioFactory = t
                                },
                                setVolume: function(t) {
                                    this._volume = t, this._updateVolume()
                                },
                                mute: function() {
                                    this._isMuted = !0, this._updateVolume()
                                },
                                unmute: function() {
                                    this._isMuted = !1, this._updateVolume()
                                },
                                getVolume: function() {
                                    return this._volume
                                },
                                _updateVolume: function() {
                                    var t, e = this.audios.length;
                                    for (t = 0; t < e; t += 1) this.audios[t].volume(this._volume * (this._isMuted ? 0 : 1))
                                }
                            },
                            function() {
                                return new t
                            }
                    }(),
                    ImagePreloader = function() {
                        var t = function() {
                            var t = createTag("canvas");
                            t.width = 1, t.height = 1;
                            var e = t.getContext("2d");
                            return e.fillStyle = "rgba(0,0,0,0)", e.fillRect(0, 0, 1, 1), t
                        }();

                        function e() {
                            this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
                        }

                        function a() {
                            this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
                        }

                        function i(t, e, a) {
                            var i = "";
                            if (t.e) i = t.p;
                            else if (e) {
                                var r = t.p; - 1 !== r.indexOf("images/") && (r = r.split("/")[1]), i = e + r
                            } else i = a, i += t.u ? t.u : "", i += t.p;
                            return i
                        }

                        function r(t) {
                            var e = 0,
                                a = setInterval(function() {
                                    (t.getBBox().width || e > 500) && (this._imageLoaded(), clearInterval(a)), e += 1
                                }.bind(this), 50)
                        }

                        function s(t) {
                            var e = {
                                    assetData: t
                                },
                                a = i(t, this.assetsPath, this.path);
                            return assetLoader.load(a, function(t) {
                                e.img = t, this._footageLoaded()
                            }.bind(this), function() {
                                e.img = {}, this._footageLoaded()
                            }.bind(this)), e
                        }

                        function n() {
                            this._imageLoaded = e.bind(this), this._footageLoaded = a.bind(this), this.testImageLoaded = r.bind(this), this.createFootageData = s.bind(this), this.assetsPath = "", this.path = "", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = []
                        }
                        return n.prototype = {
                            loadAssets: function(t, e) {
                                var a;
                                this.imagesLoadedCb = e;
                                var i = t.length;
                                for (a = 0; a < i; a += 1) t[a].layers || (t[a].t && "seq" !== t[a].t ? 3 === t[a].t && (this.totalFootages += 1, this.images.push(this.createFootageData(t[a]))) : (this.totalImages += 1, this.images.push(this._createImageData(t[a]))))
                            },
                            setAssetsPath: function(t) {
                                this.assetsPath = t || ""
                            },
                            setPath: function(t) {
                                this.path = t || ""
                            },
                            loadedImages: function() {
                                return this.totalImages === this.loadedAssets
                            },
                            loadedFootages: function() {
                                return this.totalFootages === this.loadedFootagesCount
                            },
                            destroy: function() {
                                this.imagesLoadedCb = null, this.images.length = 0
                            },
                            getAsset: function(t) {
                                for (var e = 0, a = this.images.length; e < a;) {
                                    if (this.images[e].assetData === t) return this.images[e].img;
                                    e += 1
                                }
                                return null
                            },
                            createImgData: function(e) {
                                var a = i(e, this.assetsPath, this.path),
                                    r = createTag("img");
                                r.crossOrigin = "anonymous", r.addEventListener("load", this._imageLoaded, !1), r.addEventListener("error", function() {
                                    s.img = t, this._imageLoaded()
                                }.bind(this), !1), r.src = a;
                                var s = {
                                    img: r,
                                    assetData: e
                                };
                                return s
                            },
                            createImageData: function(e) {
                                var a = i(e, this.assetsPath, this.path),
                                    r = createNS("image");
                                isSafari ? this.testImageLoaded(r) : r.addEventListener("load", this._imageLoaded, !1), r.addEventListener("error", function() {
                                    s.img = t, this._imageLoaded()
                                }.bind(this), !1), r.setAttributeNS("http://www.w3.org/1999/xlink", "href", a), this._elementHelper.append ? this._elementHelper.append(r) : this._elementHelper.appendChild(r);
                                var s = {
                                    img: r,
                                    assetData: e
                                };
                                return s
                            },
                            imageLoaded: e,
                            footageLoaded: a,
                            setCacheType: function(t, e) {
                                "svg" === t ? (this._elementHelper = e, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this)
                            }
                        }, n
                    }(),
                    featureSupport = function() {
                        var t = {
                            maskType: !0
                        };
                        return (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) && (t.maskType = !1), t
                    }(),
                    filtersFactory = function() {
                        var t = {};
                        return t.createFilter = function(t, e) {
                            var a = createNS("filter");
                            a.setAttribute("id", t), !0 !== e && (a.setAttribute("filterUnits", "objectBoundingBox"), a.setAttribute("x", "0%"), a.setAttribute("y", "0%"), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"));
                            return a
                        }, t.createAlphaToLuminanceFilter = function() {
                            var t = createNS("feColorMatrix");
                            return t.setAttribute("type", "matrix"), t.setAttribute("color-interpolation-filters", "sRGB"), t.setAttribute("values", "0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1"), t
                        }, t
                    }(),
                    assetLoader = function() {
                        function t(t) {
                            return t.response && "object" == typeof t.response ? t.response : t.response && "string" == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : null
                        }
                        return {
                            load: function(e, a, i) {
                                var r, s = new XMLHttpRequest;
                                try {
                                    s.responseType = "json"
                                } catch (t) {}
                                s.onreadystatechange = function() {
                                    if (4 === s.readyState)
                                        if (200 === s.status) r = t(s), a(r);
                                        else try {
                                            r = t(s), a(r)
                                        } catch (t) {
                                            i && i(t)
                                        }
                                }, s.open("GET", e, !0), s.send()
                            }
                        }
                    }();

                function TextAnimatorProperty(t, e, a) {
                    this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = t, this._renderType = e, this._elem = a, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = {
                        alignment: {}
                    }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(a)
                }

                function TextAnimatorDataProperty(t, e, a) {
                    var i = {
                            propType: !1
                        },
                        r = PropertyFactory.getProp,
                        s = e.a;
                    this.a = {
                        r: s.r ? r(t, s.r, 0, degToRads, a) : i,
                        rx: s.rx ? r(t, s.rx, 0, degToRads, a) : i,
                        ry: s.ry ? r(t, s.ry, 0, degToRads, a) : i,
                        sk: s.sk ? r(t, s.sk, 0, degToRads, a) : i,
                        sa: s.sa ? r(t, s.sa, 0, degToRads, a) : i,
                        s: s.s ? r(t, s.s, 1, .01, a) : i,
                        a: s.a ? r(t, s.a, 1, 0, a) : i,
                        o: s.o ? r(t, s.o, 0, .01, a) : i,
                        p: s.p ? r(t, s.p, 1, 0, a) : i,
                        sw: s.sw ? r(t, s.sw, 0, 0, a) : i,
                        sc: s.sc ? r(t, s.sc, 1, 0, a) : i,
                        fc: s.fc ? r(t, s.fc, 1, 0, a) : i,
                        fh: s.fh ? r(t, s.fh, 0, 0, a) : i,
                        fs: s.fs ? r(t, s.fs, 0, .01, a) : i,
                        fb: s.fb ? r(t, s.fb, 0, .01, a) : i,
                        t: s.t ? r(t, s.t, 0, 0, a) : i
                    }, this.s = TextSelectorProp.getTextSelectorProp(t, e.s, a), this.s.t = e.s.t
                }

                function LetterProps(t, e, a, i, r, s) {
                    this.o = t, this.sw = e, this.sc = a, this.fc = i, this.m = r, this.p = s, this._mdf = {
                        o: !0,
                        sw: !!e,
                        sc: !!a,
                        fc: !!i,
                        m: !0,
                        p: !0
                    }
                }

                function TextProperty(t, e) {
                    this._frameId = initialDefaultFrame, this.pv = "", this.v = "", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, this.data = e, this.elem = t, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = {
                        ascent: 0,
                        boxWidth: this.defaultBoxWidth,
                        f: "",
                        fStyle: "",
                        fWeight: "",
                        fc: "",
                        j: "",
                        justifyOffset: "",
                        l: [],
                        lh: 0,
                        lineWidths: [],
                        ls: "",
                        of: "",
                        s: "",
                        sc: "",
                        sw: 0,
                        t: 0,
                        tr: 0,
                        sz: 0,
                        ps: null,
                        fillColorAnim: !1,
                        strokeColorAnim: !1,
                        strokeWidthAnim: !1,
                        yOffset: 0,
                        finalSize: 0,
                        finalText: [],
                        finalLineHeight: 0,
                        __complete: !1
                    }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData)
                }
                TextAnimatorProperty.prototype.searchProperties = function() {
                    var t, e, a = this._textData.a.length,
                        i = PropertyFactory.getProp;
                    for (t = 0; t < a; t += 1) e = this._textData.a[t], this._animatorsData[t] = new TextAnimatorDataProperty(this._elem, e, this);
                    this._textData.p && "m" in this._textData.p ? (this._pathData = {
                        f: i(this._elem, this._textData.p.f, 0, 0, this),
                        l: i(this._elem, this._textData.p.l, 0, 0, this),
                        r: this._textData.p.r,
                        m: this._elem.maskManager.getMaskProperty(this._textData.p.m)
                    }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = i(this._elem, this._textData.m.a, 1, 0, this)
                }, TextAnimatorProperty.prototype.getMeasures = function(t, e) {
                    if (this.lettersChangedFlag = e, this._mdf || this._isFirstFrame || e || this._hasMaskedPath && this._pathData.m._mdf) {
                        this._isFirstFrame = !1;
                        var a, i, r, s, n, o, l, h, p, c, m, d, f, u, g, y, v, x, k, b = this._moreOptions.alignment.v,
                            E = this._animatorsData,
                            S = this._textData,
                            w = this.mHelper,
                            P = this._renderType,
                            C = this.renderedLetters.length,
                            A = t.l;
                        if (this._hasMaskedPath) {
                            if (k = this._pathData.m, !this._pathData.n || this._pathData._mdf) {
                                var T, D = k.v;
                                for (this._pathData.r && (D = D.reverse()), n = {
                                    tLength: 0,
                                    segments: []
                                }, s = D._length - 1, y = 0, r = 0; r < s; r += 1) T = bez.buildBezierData(D.v[r], D.v[r + 1], [D.o[r][0] - D.v[r][0], D.o[r][1] - D.v[r][1]], [D.i[r + 1][0] - D.v[r + 1][0], D.i[r + 1][1] - D.v[r + 1][1]]), n.tLength += T.segmentLength, n.segments.push(T), y += T.segmentLength;
                                r = s, k.v.c && (T = bez.buildBezierData(D.v[r], D.v[0], [D.o[r][0] - D.v[r][0], D.o[r][1] - D.v[r][1]], [D.i[0][0] - D.v[0][0], D.i[0][1] - D.v[0][1]]), n.tLength += T.segmentLength, n.segments.push(T), y += T.segmentLength), this._pathData.pi = n
                            }
                            if (n = this._pathData.pi, o = this._pathData.f.v, m = 0, c = 1, h = 0, p = !0, u = n.segments, o < 0 && k.v.c)
                                for (n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength), c = (f = u[m = u.length - 1].points).length - 1; o < 0;) o += f[c].partialLength, (c -= 1) < 0 && (c = (f = u[m -= 1].points).length - 1);
                            d = (f = u[m].points)[c - 1], g = (l = f[c]).partialLength
                        }
                        s = A.length, a = 0, i = 0;
                        var M, _, F, I, B, V = 1.2 * t.finalSize * .714,
                            G = !0;
                        F = E.length;
                        var z, R, L, O, N, H, j, X, q, Y, W, K, U = -1,
                            $ = o,
                            J = m,
                            Z = c,
                            Q = -1,
                            tt = "",
                            et = this.defaultPropsArray;
                        if (2 === t.j || 1 === t.j) {
                            var at = 0,
                                it = 0,
                                rt = 2 === t.j ? -.5 : -1,
                                st = 0,
                                nt = !0;
                            for (r = 0; r < s; r += 1)
                                if (A[r].n) {
                                    for (at && (at += it); st < r;) A[st].animatorJustifyOffset = at, st += 1;
                                    at = 0, nt = !0
                                } else {
                                    for (_ = 0; _ < F; _ += 1)(M = E[_].a).t.propType && (nt && 2 === t.j && (it += M.t.v * rt), (B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars)).length ? at += M.t.v * B[0] * rt : at += M.t.v * B * rt);
                                    nt = !1
                                }
                            for (at && (at += it); st < r;) A[st].animatorJustifyOffset = at, st += 1
                        }
                        for (r = 0; r < s; r += 1) {
                            if (w.reset(), O = 1, A[r].n) a = 0, i += t.yOffset, i += G ? 1 : 0, o = $, G = !1, this._hasMaskedPath && (c = Z, d = (f = u[m = J].points)[c - 1], g = (l = f[c]).partialLength, h = 0), tt = "", W = "", q = "", K = "", et = this.defaultPropsArray;
                            else {
                                if (this._hasMaskedPath) {
                                    if (Q !== A[r].line) {
                                        switch (t.j) {
                                            case 1:
                                                o += y - t.lineWidths[A[r].line];
                                                break;
                                            case 2:
                                                o += (y - t.lineWidths[A[r].line]) / 2
                                        }
                                        Q = A[r].line
                                    }
                                    U !== A[r].ind && (A[U] && (o += A[U].extra), o += A[r].an / 2, U = A[r].ind), o += b[0] * A[r].an * .005;
                                    var ot = 0;
                                    for (_ = 0; _ < F; _ += 1)(M = E[_].a).p.propType && ((B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars)).length ? ot += M.p.v[0] * B[0] : ot += M.p.v[0] * B), M.a.propType && ((B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars)).length ? ot += M.a.v[0] * B[0] : ot += M.a.v[0] * B);
                                    for (p = !0; p;) h + g >= o + ot || !f ? (v = (o + ot - h) / l.partialLength, R = d.point[0] + (l.point[0] - d.point[0]) * v, L = d.point[1] + (l.point[1] - d.point[1]) * v, w.translate(-b[0] * A[r].an * .005, -b[1] * V * .01), p = !1) : f && (h += l.partialLength, (c += 1) >= f.length && (c = 0, u[m += 1] ? f = u[m].points : k.v.c ? (c = 0, f = u[m = 0].points) : (h -= l.partialLength, f = null)), f && (d = l, g = (l = f[c]).partialLength));
                                    z = A[r].an / 2 - A[r].add, w.translate(-z, 0, 0)
                                } else z = A[r].an / 2 - A[r].add, w.translate(-z, 0, 0), w.translate(-b[0] * A[r].an * .005, -b[1] * V * .01, 0);
                                for (_ = 0; _ < F; _ += 1)(M = E[_].a).t.propType && (B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars), 0 === a && 0 === t.j || (this._hasMaskedPath ? B.length ? o += M.t.v * B[0] : o += M.t.v * B : B.length ? a += M.t.v * B[0] : a += M.t.v * B));
                                for (t.strokeWidthAnim && (H = t.sw || 0), t.strokeColorAnim && (N = t.sc ? [t.sc[0], t.sc[1], t.sc[2]] : [0, 0, 0]), t.fillColorAnim && t.fc && (j = [t.fc[0], t.fc[1], t.fc[2]]), _ = 0; _ < F; _ += 1)(M = E[_].a).a.propType && ((B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars)).length ? w.translate(-M.a.v[0] * B[0], -M.a.v[1] * B[1], M.a.v[2] * B[2]) : w.translate(-M.a.v[0] * B, -M.a.v[1] * B, M.a.v[2] * B));
                                for (_ = 0; _ < F; _ += 1)(M = E[_].a).s.propType && ((B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars)).length ? w.scale(1 + (M.s.v[0] - 1) * B[0], 1 + (M.s.v[1] - 1) * B[1], 1) : w.scale(1 + (M.s.v[0] - 1) * B, 1 + (M.s.v[1] - 1) * B, 1));
                                for (_ = 0; _ < F; _ += 1) {
                                    if (M = E[_].a, B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars), M.sk.propType && (B.length ? w.skewFromAxis(-M.sk.v * B[0], M.sa.v * B[1]) : w.skewFromAxis(-M.sk.v * B, M.sa.v * B)), M.r.propType && (B.length ? w.rotateZ(-M.r.v * B[2]) : w.rotateZ(-M.r.v * B)), M.ry.propType && (B.length ? w.rotateY(M.ry.v * B[1]) : w.rotateY(M.ry.v * B)), M.rx.propType && (B.length ? w.rotateX(M.rx.v * B[0]) : w.rotateX(M.rx.v * B)), M.o.propType && (B.length ? O += (M.o.v * B[0] - O) * B[0] : O += (M.o.v * B - O) * B), t.strokeWidthAnim && M.sw.propType && (B.length ? H += M.sw.v * B[0] : H += M.sw.v * B), t.strokeColorAnim && M.sc.propType)
                                        for (X = 0; X < 3; X += 1) B.length ? N[X] += (M.sc.v[X] - N[X]) * B[0] : N[X] += (M.sc.v[X] - N[X]) * B;
                                    if (t.fillColorAnim && t.fc) {
                                        if (M.fc.propType)
                                            for (X = 0; X < 3; X += 1) B.length ? j[X] += (M.fc.v[X] - j[X]) * B[0] : j[X] += (M.fc.v[X] - j[X]) * B;
                                        M.fh.propType && (j = B.length ? addHueToRGB(j, M.fh.v * B[0]) : addHueToRGB(j, M.fh.v * B)), M.fs.propType && (j = B.length ? addSaturationToRGB(j, M.fs.v * B[0]) : addSaturationToRGB(j, M.fs.v * B)), M.fb.propType && (j = B.length ? addBrightnessToRGB(j, M.fb.v * B[0]) : addBrightnessToRGB(j, M.fb.v * B))
                                    }
                                }
                                for (_ = 0; _ < F; _ += 1)(M = E[_].a).p.propType && (B = E[_].s.getMult(A[r].anIndexes[_], S.a[_].s.totalChars), this._hasMaskedPath ? B.length ? w.translate(0, M.p.v[1] * B[0], -M.p.v[2] * B[1]) : w.translate(0, M.p.v[1] * B, -M.p.v[2] * B) : B.length ? w.translate(M.p.v[0] * B[0], M.p.v[1] * B[1], -M.p.v[2] * B[2]) : w.translate(M.p.v[0] * B, M.p.v[1] * B, -M.p.v[2] * B));
                                if (t.strokeWidthAnim && (q = H < 0 ? 0 : H), t.strokeColorAnim && (Y = "rgb(" + Math.round(255 * N[0]) + "," + Math.round(255 * N[1]) + "," + Math.round(255 * N[2]) + ")"), t.fillColorAnim && t.fc && (W = "rgb(" + Math.round(255 * j[0]) + "," + Math.round(255 * j[1]) + "," + Math.round(255 * j[2]) + ")"), this._hasMaskedPath) {
                                    if (w.translate(0, -t.ls), w.translate(0, b[1] * V * .01 + i, 0), S.p.p) {
                                        x = (l.point[1] - d.point[1]) / (l.point[0] - d.point[0]);
                                        var lt = 180 * Math.atan(x) / Math.PI;
                                        l.point[0] < d.point[0] && (lt += 180), w.rotate(-lt * Math.PI / 180)
                                    }
                                    w.translate(R, L, 0), o -= b[0] * A[r].an * .005, A[r + 1] && U !== A[r + 1].ind && (o += A[r].an / 2, o += .001 * t.tr * t.finalSize)
                                } else {
                                    switch (w.translate(a, i, 0), t.ps && w.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) {
                                        case 1:
                                            w.translate(A[r].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[A[r].line]), 0, 0);
                                            break;
                                        case 2:
                                            w.translate(A[r].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[A[r].line]) / 2, 0, 0)
                                    }
                                    w.translate(0, -t.ls), w.translate(z, 0, 0), w.translate(b[0] * A[r].an * .005, b[1] * V * .01, 0), a += A[r].l + .001 * t.tr * t.finalSize
                                }
                                "html" === P ? tt = w.toCSS() : "svg" === P ? tt = w.to2dCSS() : et = [w.props[0], w.props[1], w.props[2], w.props[3], w.props[4], w.props[5], w.props[6], w.props[7], w.props[8], w.props[9], w.props[10], w.props[11], w.props[12], w.props[13], w.props[14], w.props[15]], K = O
                            }
                            C <= r ? (I = new LetterProps(K, q, Y, W, tt, et), this.renderedLetters.push(I), C += 1, this.lettersChangedFlag = !0) : (I = this.renderedLetters[r], this.lettersChangedFlag = I.update(K, q, Y, W, tt, et) || this.lettersChangedFlag)
                        }
                    }
                }, TextAnimatorProperty.prototype.getValue = function() {
                    this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties())
                }, TextAnimatorProperty.prototype.mHelper = new Matrix, TextAnimatorProperty.prototype.defaultPropsArray = [], extendPrototype([DynamicPropertyContainer], TextAnimatorProperty), LetterProps.prototype.update = function(t, e, a, i, r, s) {
                    this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;
                    var n = !1;
                    return this.o !== t && (this.o = t, this._mdf.o = !0, n = !0), this.sw !== e && (this.sw = e, this._mdf.sw = !0, n = !0), this.sc !== a && (this.sc = a, this._mdf.sc = !0, n = !0), this.fc !== i && (this.fc = i, this._mdf.fc = !0, n = !0), this.m !== r && (this.m = r, this._mdf.m = !0, n = !0), !s.length || this.p[0] === s[0] && this.p[1] === s[1] && this.p[4] === s[4] && this.p[5] === s[5] && this.p[12] === s[12] && this.p[13] === s[13] || (this.p = s, this._mdf.p = !0, n = !0), n
                }, TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function(t, e) {
                    for (var a in e) Object.prototype.hasOwnProperty.call(e, a) && (t[a] = e[a]);
                    return t
                }, TextProperty.prototype.setCurrentData = function(t) {
                    t.__complete || this.completeTextData(t), this.currentData = t, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0
                }, TextProperty.prototype.searchProperty = function() {
                    return this.searchKeyframes()
                }, TextProperty.prototype.searchKeyframes = function() {
                    return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf
                }, TextProperty.prototype.addEffect = function(t) {
                    this.effectsSequence.push(t), this.elem.addDynamicProperty(this)
                }, TextProperty.prototype.getValue = function(t) {
                    if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || t) {
                        this.currentData.t = this.data.d.k[this.keysIndex].s.t;
                        var e = this.currentData,
                            a = this.keysIndex;
                        if (this.lock) this.setCurrentData(this.currentData);
                        else {
                            var i;
                            this.lock = !0, this._mdf = !1;
                            var r = this.effectsSequence.length,
                                s = t || this.data.d.k[this.keysIndex].s;
                            for (i = 0; i < r; i += 1) s = a !== this.keysIndex ? this.effectsSequence[i](s, s.t) : this.effectsSequence[i](this.currentData, s.t);
                            e !== s && this.setCurrentData(s), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId
                        }
                    }
                }, TextProperty.prototype.getKeyframeValue = function() {
                    for (var t = this.data.d.k, e = this.elem.comp.renderedFrame, a = 0, i = t.length; a <= i - 1 && !(a === i - 1 || t[a + 1].t > e);) a += 1;
                    return this.keysIndex !== a && (this.keysIndex = a), this.data.d.k[this.keysIndex].s
                }, TextProperty.prototype.buildFinalText = function(t) {
                    for (var e, a = FontManager.getCombinedCharacterCodes(), i = [], r = 0, s = t.length; r < s;) e = t.charCodeAt(r), -1 !== a.indexOf(e) ? i[i.length - 1] += t.charAt(r) : e >= 55296 && e <= 56319 && (e = t.charCodeAt(r + 1)) >= 56320 && e <= 57343 ? (i.push(t.substr(r, 2)), r += 1) : i.push(t.charAt(r)), r += 1;
                    return i
                }, TextProperty.prototype.completeTextData = function(t) {
                    t.__complete = !0;
                    var e, a, i, r, s, n, o, l = this.elem.globalData.fontManager,
                        h = this.data,
                        p = [],
                        c = 0,
                        m = h.m.g,
                        d = 0,
                        f = 0,
                        u = 0,
                        g = [],
                        y = 0,
                        v = 0,
                        x = l.getFontByName(t.f),
                        k = 0,
                        b = getFontProperties(x);
                    t.fWeight = b.weight, t.fStyle = b.style, t.finalSize = t.s, t.finalText = this.buildFinalText(t.t), a = t.finalText.length, t.finalLineHeight = t.lh;
                    var E, S = t.tr / 1e3 * t.finalSize;
                    if (t.sz)
                        for (var w, P, C = !0, A = t.sz[0], T = t.sz[1]; C;) {
                            w = 0, y = 0, a = (P = this.buildFinalText(t.t)).length, S = t.tr / 1e3 * t.finalSize;
                            var D = -1;
                            for (e = 0; e < a; e += 1) E = P[e].charCodeAt(0), i = !1, " " === P[e] ? D = e : 13 !== E && 3 !== E || (y = 0, i = !0, w += t.finalLineHeight || 1.2 * t.finalSize), l.chars ? (o = l.getCharData(P[e], x.fStyle, x.fFamily), k = i ? 0 : o.w * t.finalSize / 100) : k = l.measureText(P[e], t.f, t.finalSize), y + k > A && " " !== P[e] ? (-1 === D ? a += 1 : e = D, w += t.finalLineHeight || 1.2 * t.finalSize, P.splice(e, D === e ? 1 : 0, "\r"), D = -1, y = 0) : (y += k, y += S);
                            w += x.ascent * t.finalSize / 100, this.canResize && t.finalSize > this.minimumFontSize && T < w ? (t.finalSize -= 1, t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = P, a = t.finalText.length, C = !1)
                        }
                    y = -S, k = 0;
                    var M, _ = 0;
                    for (e = 0; e < a; e += 1)
                        if (i = !1, 13 === (E = (M = t.finalText[e]).charCodeAt(0)) || 3 === E ? (_ = 0, g.push(y), v = y > v ? y : v, y = -2 * S, r = "", i = !0, u += 1) : r = M, l.chars ? (o = l.getCharData(M, x.fStyle, l.getFontByName(t.f).fFamily), k = i ? 0 : o.w * t.finalSize / 100) : k = l.measureText(r, t.f, t.finalSize), " " === M ? _ += k + S : (y += k + S + _, _ = 0), p.push({
                            l: k,
                            an: k,
                            add: d,
                            n: i,
                            anIndexes: [],
                            val: r,
                            line: u,
                            animatorJustifyOffset: 0
                        }), 2 == m) {
                            if (d += k, "" === r || " " === r || e === a - 1) {
                                for ("" !== r && " " !== r || (d -= k); f <= e;) p[f].an = d, p[f].ind = c, p[f].extra = k, f += 1;
                                c += 1, d = 0
                            }
                        } else if (3 == m) {
                        if (d += k, "" === r || e === a - 1) {
                            for ("" === r && (d -= k); f <= e;) p[f].an = d, p[f].ind = c, p[f].extra = k, f += 1;
                            d = 0, c += 1
                        }
                    } else p[c].ind = c, p[c].extra = 0, c += 1; if (t.l = p, v = y > v ? y : v, g.push(y), t.sz) t.boxWidth = t.sz[0], t.justifyOffset = 0;
                    else switch (t.boxWidth = v, t.j) {
                        case 1:
                            t.justifyOffset = -t.boxWidth;
                            break;
                        case 2:
                            t.justifyOffset = -t.boxWidth / 2;
                            break;
                        default:
                            t.justifyOffset = 0
                    }
                    t.lineWidths = g;
                    var F, I, B, V, G = h.a;
                    n = G.length;
                    var z = [];
                    for (s = 0; s < n; s += 1) {
                        for ((F = G[s]).a.sc && (t.strokeColorAnim = !0), F.a.sw && (t.strokeWidthAnim = !0), (F.a.fc || F.a.fh || F.a.fs || F.a.fb) && (t.fillColorAnim = !0), V = 0, B = F.s.b, e = 0; e < a; e += 1)(I = p[e]).anIndexes[s] = V, (1 == B && "" !== I.val || 2 == B && "" !== I.val && " " !== I.val || 3 == B && (I.n || " " == I.val || e == a - 1) || 4 == B && (I.n || e == a - 1)) && (1 === F.s.rn && z.push(V), V += 1);
                        h.a[s].s.totalChars = V;
                        var R, L = -1;
                        if (1 === F.s.rn)
                            for (e = 0; e < a; e += 1) L != (I = p[e]).anIndexes[s] && (L = I.anIndexes[s], R = z.splice(Math.floor(Math.random() * z.length), 1)[0]), I.anIndexes[s] = R
                    }
                    t.yOffset = t.finalLineHeight || 1.2 * t.finalSize, t.ls = t.ls || 0, t.ascent = x.ascent * t.finalSize / 100
                }, TextProperty.prototype.updateDocumentData = function(t, e) {
                    e = void 0 === e ? this.keysIndex : e;
                    var a = this.copyData({}, this.data.d.k[e].s);
                    a = this.copyData(a, t), this.data.d.k[e].s = a, this.recalculate(e), this.elem.addDynamicProperty(this)
                }, TextProperty.prototype.recalculate = function(t) {
                    var e = this.data.d.k[t].s;
                    e.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(e)
                }, TextProperty.prototype.canResizeFont = function(t) {
                    this.canResize = t, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this)
                }, TextProperty.prototype.setMinimumFontSize = function(t) {
                    this.minimumFontSize = Math.floor(t) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this)
                };
                var TextSelectorProp = function() {
                        var t = Math.max,
                            e = Math.min,
                            a = Math.floor;

                        function i(t, e) {
                            this._currentTextLength = -1, this.k = !1, this.data = e, this.elem = t, this.comp = t.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(t), this.s = PropertyFactory.getProp(t, e.s || {
                                k: 0
                            }, 0, 0, this), this.e = "e" in e ? PropertyFactory.getProp(t, e.e, 0, 0, this) : {
                                v: 100
                            }, this.o = PropertyFactory.getProp(t, e.o || {
                                k: 0
                            }, 0, 0, this), this.xe = PropertyFactory.getProp(t, e.xe || {
                                k: 0
                            }, 0, 0, this), this.ne = PropertyFactory.getProp(t, e.ne || {
                                k: 0
                            }, 0, 0, this), this.a = PropertyFactory.getProp(t, e.a, 0, .01, this), this.dynamicProperties.length || this.getValue()
                        }
                        return i.prototype = {
                            getMult: function(i) {
                                this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();
                                var r = 0,
                                    s = 0,
                                    n = 1,
                                    o = 1;
                                this.ne.v > 0 ? r = this.ne.v / 100 : s = -this.ne.v / 100, this.xe.v > 0 ? n = 1 - this.xe.v / 100 : o = 1 + this.xe.v / 100;
                                var l = BezierFactory.getBezierEasing(r, s, n, o).get,
                                    h = 0,
                                    p = this.finalS,
                                    c = this.finalE,
                                    m = this.data.sh;
                                if (2 === m) h = l(h = c === p ? i >= c ? 1 : 0 : t(0, e(.5 / (c - p) + (i - p) / (c - p), 1)));
                                else if (3 === m) h = l(h = c === p ? i >= c ? 0 : 1 : 1 - t(0, e(.5 / (c - p) + (i - p) / (c - p), 1)));
                                else if (4 === m) c === p ? h = 0 : (h = t(0, e(.5 / (c - p) + (i - p) / (c - p), 1))) < .5 ? h *= 2 : h = 1 - 2 * (h - .5), h = l(h);
                                else if (5 === m) {
                                    if (c === p) h = 0;
                                    else {
                                        var d = c - p,
                                            f = -d / 2 + (i = e(t(0, i + .5 - p), c - p)),
                                            u = d / 2;
                                        h = Math.sqrt(1 - f * f / (u * u))
                                    }
                                    h = l(h)
                                } else 6 === m ? (c === p ? h = 0 : (i = e(t(0, i + .5 - p), c - p), h = (1 + Math.cos(Math.PI + 2 * Math.PI * i / (c - p))) / 2), h = l(h)) : (i >= a(p) && (h = t(0, e(i - p < 0 ? e(c, 1) - (p - i) : c - i, 1))), h = l(h));
                                return h * this.a.v
                            },
                            getValue: function(t) {
                                this.iterateDynamicProperties(), this._mdf = t || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, t && 2 === this.data.r && (this.e.v = this._currentTextLength);
                                var e = 2 === this.data.r ? 1 : 100 / this.data.totalChars,
                                    a = this.o.v / e,
                                    i = this.s.v / e + a,
                                    r = this.e.v / e + a;
                                if (i > r) {
                                    var s = i;
                                    i = r, r = s
                                }
                                this.finalS = i, this.finalE = r
                            }
                        }, extendPrototype([DynamicPropertyContainer], i), {
                            getTextSelectorProp: function(t, e, a) {
                                return new i(t, e, a)
                            }
                        }
                    }(),
                    poolFactory = function(t, e, a) {
                        var i = 0,
                            r = t,
                            s = createSizedArray(r);
                        return {
                            newElement: function() {
                                return i ? s[i -= 1] : e()
                            },
                            release: function(t) {
                                i === r && (s = pooling.double(s), r *= 2), a && a(t), s[i] = t, i += 1
                            }
                        }
                    },
                    pooling = {
                        double: function(t) {
                            return t.concat(createSizedArray(t.length))
                        }
                    },
                    pointPool = poolFactory(8, (function() {
                        return createTypedArray("float32", 2)
                    })),
                    shapePool = (factory = poolFactory(4, (function() {
                        return new ShapePath
                    }), (function(t) {
                        var e, a = t._length;
                        for (e = 0; e < a; e += 1) pointPool.release(t.v[e]), pointPool.release(t.i[e]), pointPool.release(t.o[e]), t.v[e] = null, t.i[e] = null, t.o[e] = null;
                        t._length = 0, t.c = !1
                    })), factory.clone = function(t) {
                        var e, a = factory.newElement(),
                            i = void 0 === t._length ? t.v.length : t._length;
                        for (a.setLength(i), a.c = t.c, e = 0; e < i; e += 1) a.setTripleAt(t.v[e][0], t.v[e][1], t.o[e][0], t.o[e][1], t.i[e][0], t.i[e][1], e);
                        return a
                    }, factory),
                    factory, shapeCollectionPool = function() {
                        var t = {
                                newShapeCollection: function() {
                                    var t;
                                    t = e ? i[e -= 1] : new ShapeCollection;
                                    return t
                                },
                                release: function(t) {
                                    var r, s = t._length;
                                    for (r = 0; r < s; r += 1) shapePool.release(t.shapes[r]);
                                    t._length = 0, e === a && (i = pooling.double(i), a *= 2);
                                    i[e] = t, e += 1
                                }
                            },
                            e = 0,
                            a = 4,
                            i = createSizedArray(a);
                        return t
                    }(),
                    segmentsLengthPool = poolFactory(8, (function() {
                        return {
                            lengths: [],
                            totalLength: 0
                        }
                    }), (function(t) {
                        var e, a = t.lengths.length;
                        for (e = 0; e < a; e += 1) bezierLengthPool.release(t.lengths[e]);
                        t.lengths.length = 0
                    })),
                    bezierLengthPool = poolFactory(8, (function() {
                        return {
                            addedLength: 0,
                            percents: createTypedArray("float32", defaultCurveSegments),
                            lengths: createTypedArray("float32", defaultCurveSegments)
                        }
                    })),
                    markerParser = function() {
                        function t(t) {
                            for (var e, a = t.split("\r\n"), i = {}, r = 0, s = 0; s < a.length; s += 1) 2 === (e = a[s].split(":")).length && (i[e[0]] = e[1].trim(), r += 1);
                            if (0 === r) throw new Error;
                            return i
                        }
                        return function(e) {
                            for (var a = [], i = 0; i < e.length; i += 1) {
                                var r = e[i],
                                    s = {
                                        time: r.tm,
                                        duration: r.dr
                                    };
                                try {
                                    s.payload = JSON.parse(e[i].cm)
                                } catch (a) {
                                    try {
                                        s.payload = t(e[i].cm)
                                    } catch (t) {
                                        s.payload = {
                                            name: e[i]
                                        }
                                    }
                                }
                                a.push(s)
                            }
                            return a
                        }
                    }();

                function BaseRenderer() {}

                function SVGRenderer(t, e) {
                    this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.svgElement = createNS("svg");
                    var a = "";
                    if (e && e.title) {
                        var i = createNS("title"),
                            r = createElementID();
                        i.setAttribute("id", r), i.textContent = e.title, this.svgElement.appendChild(i), a += r
                    }
                    if (e && e.description) {
                        var s = createNS("desc"),
                            n = createElementID();
                        s.setAttribute("id", n), s.textContent = e.description, this.svgElement.appendChild(s), a += " " + n
                    }
                    a && this.svgElement.setAttribute("aria-labelledby", a);
                    var o = createNS("defs");
                    this.svgElement.appendChild(o);
                    var l = createNS("g");
                    this.svgElement.appendChild(l), this.layerElement = l, this.renderConfig = {
                        preserveAspectRatio: e && e.preserveAspectRatio || "xMidYMid meet",
                        imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || "xMidYMid slice",
                        progressiveLoad: e && e.progressiveLoad || !1,
                        hideOnTransparent: !(e && !1 === e.hideOnTransparent),
                        viewBoxOnly: e && e.viewBoxOnly || !1,
                        viewBoxSize: e && e.viewBoxSize || !1,
                        className: e && e.className || "",
                        id: e && e.id || "",
                        focusable: e && e.focusable,
                        filterSize: {
                            width: e && e.filterSize && e.filterSize.width || "100%",
                            height: e && e.filterSize && e.filterSize.height || "100%",
                            x: e && e.filterSize && e.filterSize.x || "0%",
                            y: e && e.filterSize && e.filterSize.y || "0%"
                        }
                    }, this.globalData = {
                        _mdf: !1,
                        frameNum: -1,
                        defs: o,
                        renderConfig: this.renderConfig
                    }, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = "svg"
                }

                function CanvasRenderer(t, e) {
                    this.animationItem = t, this.renderConfig = {
                        clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas,
                        context: e && e.context || null,
                        progressiveLoad: e && e.progressiveLoad || !1,
                        preserveAspectRatio: e && e.preserveAspectRatio || "xMidYMid meet",
                        imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || "xMidYMid slice",
                        className: e && e.className || "",
                        id: e && e.id || ""
                    }, this.renderConfig.dpr = e && e.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = {
                        frameNum: -1,
                        _mdf: !1,
                        renderConfig: this.renderConfig,
                        currentGlobalAlpha: -1
                    }, this.contextData = new CVContextData, this.elements = [], this.pendingElements = [], this.transformMat = new Matrix, this.completeLayers = !1, this.rendererType = "canvas"
                }

                function HybridRenderer(t, e) {
                    this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {
                        className: e && e.className || "",
                        imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || "xMidYMid slice",
                        hideOnTransparent: !(e && !1 === e.hideOnTransparent),
                        filterSize: {
                            width: e && e.filterSize && e.filterSize.width || "400%",
                            height: e && e.filterSize && e.filterSize.height || "400%",
                            x: e && e.filterSize && e.filterSize.x || "-100%",
                            y: e && e.filterSize && e.filterSize.y || "-100%"
                        }
                    }, this.globalData = {
                        _mdf: !1,
                        frameNum: -1,
                        renderConfig: this.renderConfig
                    }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = "html"
                }

                function MaskElement(t, e, a) {
                    this.data = t, this.element = e, this.globalData = a, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;
                    var i, r, s = this.globalData.defs,
                        n = this.masksProperties ? this.masksProperties.length : 0;
                    this.viewData = createSizedArray(n), this.solidPath = "";
                    var o, l, h, p, c, m, d = this.masksProperties,
                        f = 0,
                        u = [],
                        g = createElementID(),
                        y = "clipPath",
                        v = "clip-path";
                    for (i = 0; i < n; i += 1)
                        if (("a" !== d[i].mode && "n" !== d[i].mode || d[i].inv || 100 !== d[i].o.k || d[i].o.x) && (y = "mask", v = "mask"), "s" !== d[i].mode && "i" !== d[i].mode || 0 !== f ? h = null : ((h = createNS("rect")).setAttribute("fill", "#ffffff"), h.setAttribute("width", this.element.comp.data.w || 0), h.setAttribute("height", this.element.comp.data.h || 0), u.push(h)), r = createNS("path"), "n" === d[i].mode) this.viewData[i] = {
                            op: PropertyFactory.getProp(this.element, d[i].o, 0, .01, this.element),
                            prop: ShapePropertyFactory.getShapeProp(this.element, d[i], 3),
                            elem: r,
                            lastPath: ""
                        }, s.appendChild(r);
                        else {
                            var x;
                            if (f += 1, r.setAttribute("fill", "s" === d[i].mode ? "#000000" : "#ffffff"), r.setAttribute("clip-rule", "nonzero"), 0 !== d[i].x.k ? (y = "mask", v = "mask", m = PropertyFactory.getProp(this.element, d[i].x, 0, null, this.element), x = createElementID(), (p = createNS("filter")).setAttribute("id", x), (c = createNS("feMorphology")).setAttribute("operator", "erode"), c.setAttribute("in", "SourceGraphic"), c.setAttribute("radius", "0"), p.appendChild(c), s.appendChild(p), r.setAttribute("stroke", "s" === d[i].mode ? "#000000" : "#ffffff")) : (c = null, m = null), this.storedData[i] = {
                                elem: r,
                                x: m,
                                expan: c,
                                lastPath: "",
                                lastOperator: "",
                                filterId: x,
                                lastRadius: 0
                            }, "i" === d[i].mode) {
                                l = u.length;
                                var k = createNS("g");
                                for (o = 0; o < l; o += 1) k.appendChild(u[o]);
                                var b = createNS("mask");
                                b.setAttribute("mask-type", "alpha"), b.setAttribute("id", g + "_" + f), b.appendChild(r), s.appendChild(b), k.setAttribute("mask", "url(" + locationHref + "#" + g + "_" + f + ")"), u.length = 0, u.push(k)
                            } else u.push(r);
                            d[i].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[i] = {
                                elem: r,
                                lastPath: "",
                                op: PropertyFactory.getProp(this.element, d[i].o, 0, .01, this.element),
                                prop: ShapePropertyFactory.getShapeProp(this.element, d[i], 3),
                                invRect: h
                            }, this.viewData[i].prop.k || this.drawPath(d[i], this.viewData[i].prop.v, this.viewData[i])
                        }
                    for (this.maskElement = createNS(y), n = u.length, i = 0; i < n; i += 1) this.maskElement.appendChild(u[i]);
                    f > 0 && (this.maskElement.setAttribute("id", g), this.element.maskedElement.setAttribute(v, "url(" + locationHref + "#" + g + ")"), s.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this)
                }

                function HierarchyElement() {}

                function FrameElement() {}

                function TransformElement() {}

                function RenderableElement() {}

                function RenderableDOMElement() {}

                function ProcessedElement(t, e) {
                    this.elem = t, this.pos = e
                }

                function SVGStyleData(t, e) {
                    this.data = t, this.type = t.ty, this.d = "", this.lvl = e, this._mdf = !1, this.closed = !0 === t.hd, this.pElem = createNS("path"), this.msElem = null
                }

                function SVGShapeData(t, e, a) {
                    this.caches = [], this.styles = [], this.transformers = t, this.lStr = "", this.sh = a, this.lvl = e, this._isAnimated = !!a.k;
                    for (var i = 0, r = t.length; i < r;) {
                        if (t[i].mProps.dynamicProperties.length) {
                            this._isAnimated = !0;
                            break
                        }
                        i += 1
                    }
                }

                function SVGTransformData(t, e, a) {
                    this.transform = {
                        mProps: t,
                        op: e,
                        container: a
                    }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length
                }

                function SVGStrokeStyleData(t, e, a) {
                    this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, "svg", this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = a, this._isAnimated = !!this._isAnimated
                }

                function SVGFillStyleData(t, e, a) {
                    this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = a
                }

                function SVGGradientFillStyleData(t, e, a) {
                    this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.initGradientData(t, e, a)
                }

                function SVGGradientStrokeStyleData(t, e, a) {
                    this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, "svg", this), this.initGradientData(t, e, a), this._isAnimated = !!this._isAnimated
                }

                function ShapeGroupData() {
                    this.it = [], this.prevViewData = [], this.gr = createNS("g")
                }
                BaseRenderer.prototype.checkLayers = function(t) {
                    var e, a, i = this.layers.length;
                    for (this.completeLayers = !0, e = i - 1; e >= 0; e -= 1) this.elements[e] || (a = this.layers[e]).ip - a.st <= t - this.layers[e].st && a.op - a.st > t - this.layers[e].st && this.buildItem(e), this.completeLayers = !!this.elements[e] && this.completeLayers;
                    this.checkPendingElements()
                }, BaseRenderer.prototype.createItem = function(t) {
                    switch (t.ty) {
                        case 2:
                            return this.createImage(t);
                        case 0:
                            return this.createComp(t);
                        case 1:
                            return this.createSolid(t);
                        case 3:
                            return this.createNull(t);
                        case 4:
                            return this.createShape(t);
                        case 5:
                            return this.createText(t);
                        case 6:
                            return this.createAudio(t);
                        case 13:
                            return this.createCamera(t);
                        case 15:
                            return this.createFootage(t);
                        default:
                            return this.createNull(t)
                    }
                }, BaseRenderer.prototype.createCamera = function() {
                    throw new Error("You're using a 3d camera. Try the html renderer.")
                }, BaseRenderer.prototype.createAudio = function(t) {
                    return new AudioElement(t, this.globalData, this)
                }, BaseRenderer.prototype.createFootage = function(t) {
                    return new FootageElement(t, this.globalData, this)
                }, BaseRenderer.prototype.buildAllItems = function() {
                    var t, e = this.layers.length;
                    for (t = 0; t < e; t += 1) this.buildItem(t);
                    this.checkPendingElements()
                }, BaseRenderer.prototype.includeLayers = function(t) {
                    var e;
                    this.completeLayers = !1;
                    var a, i = t.length,
                        r = this.layers.length;
                    for (e = 0; e < i; e += 1)
                        for (a = 0; a < r;) {
                            if (this.layers[a].id === t[e].id) {
                                this.layers[a] = t[e];
                                break
                            }
                            a += 1
                        }
                }, BaseRenderer.prototype.setProjectInterface = function(t) {
                    this.globalData.projectInterface = t
                }, BaseRenderer.prototype.initItems = function() {
                    this.globalData.progressiveLoad || this.buildAllItems()
                }, BaseRenderer.prototype.buildElementParenting = function(t, e, a) {
                    for (var i = this.elements, r = this.layers, s = 0, n = r.length; s < n;) r[s].ind == e && (i[s] && !0 !== i[s] ? (a.push(i[s]), i[s].setAsParent(), void 0 !== r[s].parent ? this.buildElementParenting(t, r[s].parent, a) : t.setHierarchy(a)) : (this.buildItem(s), this.addPendingElement(t))), s += 1
                }, BaseRenderer.prototype.addPendingElement = function(t) {
                    this.pendingElements.push(t)
                }, BaseRenderer.prototype.searchExtraCompositions = function(t) {
                    var e, a = t.length;
                    for (e = 0; e < a; e += 1)
                        if (t[e].xt) {
                            var i = this.createComp(t[e]);
                            i.initExpressions(), this.globalData.projectInterface.registerComposition(i)
                        }
                }, BaseRenderer.prototype.setupGlobalData = function(t, e) {
                    this.globalData.fontManager = new FontManager, this.globalData.fontManager.addChars(t.chars), this.globalData.fontManager.addFonts(t.fonts, e), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = t.fr, this.globalData.nm = t.nm, this.globalData.compSize = {
                        w: t.w,
                        h: t.h
                    }
                }, extendPrototype([BaseRenderer], SVGRenderer), SVGRenderer.prototype.createNull = function(t) {
                    return new NullElement(t, this.globalData, this)
                }, SVGRenderer.prototype.createShape = function(t) {
                    return new SVGShapeElement(t, this.globalData, this)
                }, SVGRenderer.prototype.createText = function(t) {
                    return new SVGTextLottieElement(t, this.globalData, this)
                }, SVGRenderer.prototype.createImage = function(t) {
                    return new IImageElement(t, this.globalData, this)
                }, SVGRenderer.prototype.createComp = function(t) {
                    return new SVGCompElement(t, this.globalData, this)
                }, SVGRenderer.prototype.createSolid = function(t) {
                    return new ISolidElement(t, this.globalData, this)
                }, SVGRenderer.prototype.configAnimation = function(t) {
                    this.svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute("viewBox", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute("viewBox", "0 0 " + t.w + " " + t.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute("width", t.w), this.svgElement.setAttribute("height", t.h), this.svgElement.style.width = "100%", this.svgElement.style.height = "100%", this.svgElement.style.transform = "translate3d(0,0,0)"), this.renderConfig.className && this.svgElement.setAttribute("class", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute("id", this.renderConfig.id), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute("focusable", this.renderConfig.focusable), this.svgElement.setAttribute("preserveAspectRatio", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);
                    var e = this.globalData.defs;
                    this.setupGlobalData(t, e), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = t;
                    var a = createNS("clipPath"),
                        i = createNS("rect");
                    i.setAttribute("width", t.w), i.setAttribute("height", t.h), i.setAttribute("x", 0), i.setAttribute("y", 0);
                    var r = createElementID();
                    a.setAttribute("id", r), a.appendChild(i), this.layerElement.setAttribute("clip-path", "url(" + locationHref + "#" + r + ")"), e.appendChild(a), this.layers = t.layers, this.elements = createSizedArray(t.layers.length)
                }, SVGRenderer.prototype.destroy = function() {
                    var t;
                    this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), this.layerElement = null, this.globalData.defs = null;
                    var e = this.layers ? this.layers.length : 0;
                    for (t = 0; t < e; t += 1) this.elements[t] && this.elements[t].destroy();
                    this.elements.length = 0, this.destroyed = !0, this.animationItem = null
                }, SVGRenderer.prototype.updateContainerSize = function() {}, SVGRenderer.prototype.buildItem = function(t) {
                    var e = this.elements;
                    if (!e[t] && 99 !== this.layers[t].ty) {
                        e[t] = !0;
                        var a = this.createItem(this.layers[t]);
                        e[t] = a, expressionsPlugin && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition(a), a.initExpressions()), this.appendElementInPos(a, t), this.layers[t].tt && (this.elements[t - 1] && !0 !== this.elements[t - 1] ? a.setMatte(e[t - 1].layerId) : (this.buildItem(t - 1), this.addPendingElement(a)))
                    }
                }, SVGRenderer.prototype.checkPendingElements = function() {
                    for (; this.pendingElements.length;) {
                        var t = this.pendingElements.pop();
                        if (t.checkParenting(), t.data.tt)
                            for (var e = 0, a = this.elements.length; e < a;) {
                                if (this.elements[e] === t) {
                                    t.setMatte(this.elements[e - 1].layerId);
                                    break
                                }
                                e += 1
                            }
                    }
                }, SVGRenderer.prototype.renderFrame = function(t) {
                    if (this.renderedFrame !== t && !this.destroyed) {
                        var e;
                        null === t ? t = this.renderedFrame : this.renderedFrame = t, this.globalData.frameNum = t, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = t, this.globalData._mdf = !1;
                        var a = this.layers.length;
                        for (this.completeLayers || this.checkLayers(t), e = a - 1; e >= 0; e -= 1)(this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st);
                        if (this.globalData._mdf)
                            for (e = 0; e < a; e += 1)(this.completeLayers || this.elements[e]) && this.elements[e].renderFrame()
                    }
                }, SVGRenderer.prototype.appendElementInPos = function(t, e) {
                    var a = t.getBaseElement();
                    if (a) {
                        for (var i, r = 0; r < e;) this.elements[r] && !0 !== this.elements[r] && this.elements[r].getBaseElement() && (i = this.elements[r].getBaseElement()), r += 1;
                        i ? this.layerElement.insertBefore(a, i) : this.layerElement.appendChild(a)
                    }
                }, SVGRenderer.prototype.hide = function() {
                    this.layerElement.style.display = "none"
                }, SVGRenderer.prototype.show = function() {
                    this.layerElement.style.display = "block"
                }, extendPrototype([BaseRenderer], CanvasRenderer), CanvasRenderer.prototype.createShape = function(t) {
                    return new CVShapeElement(t, this.globalData, this)
                }, CanvasRenderer.prototype.createText = function(t) {
                    return new CVTextElement(t, this.globalData, this)
                }, CanvasRenderer.prototype.createImage = function(t) {
                    return new CVImageElement(t, this.globalData, this)
                }, CanvasRenderer.prototype.createComp = function(t) {
                    return new CVCompElement(t, this.globalData, this)
                }, CanvasRenderer.prototype.createSolid = function(t) {
                    return new CVSolidElement(t, this.globalData, this)
                }, CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull, CanvasRenderer.prototype.ctxTransform = function(t) {
                    if (1 !== t[0] || 0 !== t[1] || 0 !== t[4] || 1 !== t[5] || 0 !== t[12] || 0 !== t[13])
                        if (this.renderConfig.clearCanvas) {
                            this.transformMat.cloneFromProps(t);
                            var e = this.contextData.cTr.props;
                            this.transformMat.transform(e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15]), this.contextData.cTr.cloneFromProps(this.transformMat.props);
                            var a = this.contextData.cTr.props;
                            this.canvasContext.setTransform(a[0], a[1], a[4], a[5], a[12], a[13])
                        } else this.canvasContext.transform(t[0], t[1], t[4], t[5], t[12], t[13])
                }, CanvasRenderer.prototype.ctxOpacity = function(t) {
                    if (!this.renderConfig.clearCanvas) return this.canvasContext.globalAlpha *= t < 0 ? 0 : t, void(this.globalData.currentGlobalAlpha = this.contextData.cO);
                    this.contextData.cO *= t < 0 ? 0 : t, this.globalData.currentGlobalAlpha !== this.contextData.cO && (this.canvasContext.globalAlpha = this.contextData.cO, this.globalData.currentGlobalAlpha = this.contextData.cO)
                }, CanvasRenderer.prototype.reset = function() {
                    this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore()
                }, CanvasRenderer.prototype.save = function(t) {
                    if (this.renderConfig.clearCanvas) {
                        t && this.canvasContext.save();
                        var e, a = this.contextData.cTr.props;
                        this.contextData._length <= this.contextData.cArrPos && this.contextData.duplicate();
                        var i = this.contextData.saved[this.contextData.cArrPos];
                        for (e = 0; e < 16; e += 1) i[e] = a[e];
                        this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO, this.contextData.cArrPos += 1
                    } else this.canvasContext.save()
                }, CanvasRenderer.prototype.restore = function(t) {
                    if (this.renderConfig.clearCanvas) {
                        t && (this.canvasContext.restore(), this.globalData.blendMode = "source-over"), this.contextData.cArrPos -= 1;
                        var e, a = this.contextData.saved[this.contextData.cArrPos],
                            i = this.contextData.cTr.props;
                        for (e = 0; e < 16; e += 1) i[e] = a[e];
                        this.canvasContext.setTransform(a[0], a[1], a[4], a[5], a[12], a[13]), a = this.contextData.savedOp[this.contextData.cArrPos], this.contextData.cO = a, this.globalData.currentGlobalAlpha !== a && (this.canvasContext.globalAlpha = a, this.globalData.currentGlobalAlpha = a)
                    } else this.canvasContext.restore()
                }, CanvasRenderer.prototype.configAnimation = function(t) {
                    if (this.animationItem.wrapper) {
                        this.animationItem.container = createTag("canvas");
                        var e = this.animationItem.container.style;
                        e.width = "100%", e.height = "100%";
                        var a = "0px 0px 0px";
                        e.transformOrigin = a, e.mozTransformOrigin = a, e.webkitTransformOrigin = a, e["-webkit-transform"] = a, this.animationItem.wrapper.appendChild(this.animationItem.container), this.canvasContext = this.animationItem.container.getContext("2d"), this.renderConfig.className && this.animationItem.container.setAttribute("class", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute("id", this.renderConfig.id)
                    } else this.canvasContext = this.renderConfig.context;
                    this.data = t, this.layers = t.layers, this.transformCanvas = {
                        w: t.w,
                        h: t.h,
                        sx: 0,
                        sy: 0,
                        tx: 0,
                        ty: 0
                    }, this.setupGlobalData(t, document.body), this.globalData.canvasContext = this.canvasContext, this.globalData.renderer = this, this.globalData.isDashed = !1, this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.globalData.transformCanvas = this.transformCanvas, this.elements = createSizedArray(t.layers.length), this.updateContainerSize()
                }, CanvasRenderer.prototype.updateContainerSize = function() {
                    var t, e, a, i;
                    if (this.reset(), this.animationItem.wrapper && this.animationItem.container ? (t = this.animationItem.wrapper.offsetWidth, e = this.animationItem.wrapper.offsetHeight, this.animationItem.container.setAttribute("width", t * this.renderConfig.dpr), this.animationItem.container.setAttribute("height", e * this.renderConfig.dpr)) : (t = this.canvasContext.canvas.width * this.renderConfig.dpr, e = this.canvasContext.canvas.height * this.renderConfig.dpr), -1 !== this.renderConfig.preserveAspectRatio.indexOf("meet") || -1 !== this.renderConfig.preserveAspectRatio.indexOf("slice")) {
                        var r = this.renderConfig.preserveAspectRatio.split(" "),
                            s = r[1] || "meet",
                            n = r[0] || "xMidYMid",
                            o = n.substr(0, 4),
                            l = n.substr(4);
                        a = t / e, (i = this.transformCanvas.w / this.transformCanvas.h) > a && "meet" === s || i < a && "slice" === s ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = t / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr)), this.transformCanvas.tx = "xMid" === o && (i < a && "meet" === s || i > a && "slice" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : "xMax" === o && (i < a && "meet" === s || i > a && "slice" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) * this.renderConfig.dpr : 0, this.transformCanvas.ty = "YMid" === l && (i > a && "meet" === s || i < a && "slice" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : "YMax" === l && (i > a && "meet" === s || i < a && "slice" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) * this.renderConfig.dpr : 0
                    } else "none" === this.renderConfig.preserveAspectRatio ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.tx = 0, this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr, this.transformCanvas.sy = this.renderConfig.dpr, this.transformCanvas.tx = 0, this.transformCanvas.ty = 0);
                    this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1], this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0)
                }, CanvasRenderer.prototype.destroy = function() {
                    var t;
                    for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), t = (this.layers ? this.layers.length : 0) - 1; t >= 0; t -= 1) this.elements[t] && this.elements[t].destroy();
                    this.elements.length = 0, this.globalData.canvasContext = null, this.animationItem.container = null, this.destroyed = !0
                }, CanvasRenderer.prototype.renderFrame = function(t, e) {
                    if ((this.renderedFrame !== t || !0 !== this.renderConfig.clearCanvas || e) && !this.destroyed && -1 !== t) {
                        var a;
                        this.renderedFrame = t, this.globalData.frameNum = t - this.animationItem._isFirstFrame, this.globalData.frameId += 1, this.globalData._mdf = !this.renderConfig.clearCanvas || e, this.globalData.projectInterface.currentFrame = t;
                        var i = this.layers.length;
                        for (this.completeLayers || this.checkLayers(t), a = 0; a < i; a += 1)(this.completeLayers || this.elements[a]) && this.elements[a].prepareFrame(t - this.layers[a].st);
                        if (this.globalData._mdf) {
                            for (!0 === this.renderConfig.clearCanvas ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), a = i - 1; a >= 0; a -= 1)(this.completeLayers || this.elements[a]) && this.elements[a].renderFrame();
                            !0 !== this.renderConfig.clearCanvas && this.restore()
                        }
                    }
                }, CanvasRenderer.prototype.buildItem = function(t) {
                    var e = this.elements;
                    if (!e[t] && 99 !== this.layers[t].ty) {
                        var a = this.createItem(this.layers[t], this, this.globalData);
                        e[t] = a, a.initExpressions()
                    }
                }, CanvasRenderer.prototype.checkPendingElements = function() {
                    for (; this.pendingElements.length;) {
                        this.pendingElements.pop().checkParenting()
                    }
                }, CanvasRenderer.prototype.hide = function() {
                    this.animationItem.container.style.display = "none"
                }, CanvasRenderer.prototype.show = function() {
                    this.animationItem.container.style.display = "block"
                }, extendPrototype([BaseRenderer], HybridRenderer), HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem, HybridRenderer.prototype.checkPendingElements = function() {
                    for (; this.pendingElements.length;) {
                        this.pendingElements.pop().checkParenting()
                    }
                }, HybridRenderer.prototype.appendElementInPos = function(t, e) {
                    var a = t.getBaseElement();
                    if (a) {
                        var i = this.layers[e];
                        if (i.ddd && this.supports3d) this.addTo3dContainer(a, e);
                        else if (this.threeDElements) this.addTo3dContainer(a, e);
                        else {
                            for (var r, s, n = 0; n < e;) this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && (s = this.elements[n], r = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : s.getBaseElement()) || r), n += 1;
                            r ? i.ddd && this.supports3d || this.layerElement.insertBefore(a, r) : i.ddd && this.supports3d || this.layerElement.appendChild(a)
                        }
                    }
                }, HybridRenderer.prototype.createShape = function(t) {
                    return this.supports3d ? new HShapeElement(t, this.globalData, this) : new SVGShapeElement(t, this.globalData, this)
                }, HybridRenderer.prototype.createText = function(t) {
                    return this.supports3d ? new HTextElement(t, this.globalData, this) : new SVGTextLottieElement(t, this.globalData, this)
                }, HybridRenderer.prototype.createCamera = function(t) {
                    return this.camera = new HCameraElement(t, this.globalData, this), this.camera
                }, HybridRenderer.prototype.createImage = function(t) {
                    return this.supports3d ? new HImageElement(t, this.globalData, this) : new IImageElement(t, this.globalData, this)
                }, HybridRenderer.prototype.createComp = function(t) {
                    return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this)
                }, HybridRenderer.prototype.createSolid = function(t) {
                    return this.supports3d ? new HSolidElement(t, this.globalData, this) : new ISolidElement(t, this.globalData, this)
                }, HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull, HybridRenderer.prototype.getThreeDContainerByPos = function(t) {
                    for (var e = 0, a = this.threeDElements.length; e < a;) {
                        if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t) return this.threeDElements[e].perspectiveElem;
                        e += 1
                    }
                    return null
                }, HybridRenderer.prototype.createThreeDContainer = function(t, e) {
                    var a, i, r = createTag("div");
                    styleDiv(r);
                    var s = createTag("div");
                    if (styleDiv(s), "3d" === e) {
                        (a = r.style).width = this.globalData.compSize.w + "px", a.height = this.globalData.compSize.h + "px";
                        a.webkitTransformOrigin = "50% 50%", a.mozTransformOrigin = "50% 50%", a.transformOrigin = "50% 50%";
                        var n = "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";
                        (i = s.style).transform = n, i.webkitTransform = n
                    }
                    r.appendChild(s);
                    var o = {
                        container: s,
                        perspectiveElem: r,
                        startPos: t,
                        endPos: t,
                        type: e
                    };
                    return this.threeDElements.push(o), o
                }, HybridRenderer.prototype.build3dContainers = function() {
                    var t, e, a = this.layers.length,
                        i = "";
                    for (t = 0; t < a; t += 1) this.layers[t].ddd && 3 !== this.layers[t].ty ? ("3d" !== i && (i = "3d", e = this.createThreeDContainer(t, "3d")), e.endPos = Math.max(e.endPos, t)) : ("2d" !== i && (i = "2d", e = this.createThreeDContainer(t, "2d")), e.endPos = Math.max(e.endPos, t));
                    for (t = (a = this.threeDElements.length) - 1; t >= 0; t -= 1) this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)
                }, HybridRenderer.prototype.addTo3dContainer = function(t, e) {
                    for (var a = 0, i = this.threeDElements.length; a < i;) {
                        if (e <= this.threeDElements[a].endPos) {
                            for (var r, s = this.threeDElements[a].startPos; s < e;) this.elements[s] && this.elements[s].getBaseElement && (r = this.elements[s].getBaseElement()), s += 1;
                            r ? this.threeDElements[a].container.insertBefore(t, r) : this.threeDElements[a].container.appendChild(t);
                            break
                        }
                        a += 1
                    }
                }, HybridRenderer.prototype.configAnimation = function(t) {
                    var e = createTag("div"),
                        a = this.animationItem.wrapper,
                        i = e.style;
                    i.width = t.w + "px", i.height = t.h + "px", this.resizerElem = e, styleDiv(e), i.transformStyle = "flat", i.mozTransformStyle = "flat", i.webkitTransformStyle = "flat", this.renderConfig.className && e.setAttribute("class", this.renderConfig.className), a.appendChild(e), i.overflow = "hidden";
                    var r = createNS("svg");
                    r.setAttribute("width", "1"), r.setAttribute("height", "1"), styleDiv(r), this.resizerElem.appendChild(r);
                    var s = createNS("defs");
                    r.appendChild(s), this.data = t, this.setupGlobalData(t, r), this.globalData.defs = s, this.layers = t.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize()
                }, HybridRenderer.prototype.destroy = function() {
                    var t;
                    this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), this.animationItem.container = null, this.globalData.defs = null;
                    var e = this.layers ? this.layers.length : 0;
                    for (t = 0; t < e; t += 1) this.elements[t].destroy();
                    this.elements.length = 0, this.destroyed = !0, this.animationItem = null
                }, HybridRenderer.prototype.updateContainerSize = function() {
                    var t, e, a, i, r = this.animationItem.wrapper.offsetWidth,
                        s = this.animationItem.wrapper.offsetHeight,
                        n = r / s;
                    this.globalData.compSize.w / this.globalData.compSize.h > n ? (t = r / this.globalData.compSize.w, e = r / this.globalData.compSize.w, a = 0, i = (s - this.globalData.compSize.h * (r / this.globalData.compSize.w)) / 2) : (t = s / this.globalData.compSize.h, e = s / this.globalData.compSize.h, a = (r - this.globalData.compSize.w * (s / this.globalData.compSize.h)) / 2, i = 0);
                    var o = this.resizerElem.style;
                    o.webkitTransform = "matrix3d(" + t + ",0,0,0,0," + e + ",0,0,0,0,1,0," + a + "," + i + ",0,1)", o.transform = o.webkitTransform
                }, HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame, HybridRenderer.prototype.hide = function() {
                    this.resizerElem.style.display = "none"
                }, HybridRenderer.prototype.show = function() {
                    this.resizerElem.style.display = "block"
                }, HybridRenderer.prototype.initItems = function() {
                    if (this.buildAllItems(), this.camera) this.camera.setup();
                    else {
                        var t, e = this.globalData.compSize.w,
                            a = this.globalData.compSize.h,
                            i = this.threeDElements.length;
                        for (t = 0; t < i; t += 1) {
                            var r = this.threeDElements[t].perspectiveElem.style;
                            r.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(a, 2)) + "px", r.perspective = r.webkitPerspective
                        }
                    }
                }, HybridRenderer.prototype.searchExtraCompositions = function(t) {
                    var e, a = t.length,
                        i = createTag("div");
                    for (e = 0; e < a; e += 1)
                        if (t[e].xt) {
                            var r = this.createComp(t[e], i, this.globalData.comp, null);
                            r.initExpressions(), this.globalData.projectInterface.registerComposition(r)
                        }
                }, MaskElement.prototype.getMaskProperty = function(t) {
                    return this.viewData[t].prop
                }, MaskElement.prototype.renderFrame = function(t) {
                    var e, a = this.element.finalTransform.mat,
                        i = this.masksProperties.length;
                    for (e = 0; e < i; e += 1)
                        if ((this.viewData[e].prop._mdf || t) && this.drawPath(this.masksProperties[e], this.viewData[e].prop.v, this.viewData[e]), (this.viewData[e].op._mdf || t) && this.viewData[e].elem.setAttribute("fill-opacity", this.viewData[e].op.v), "n" !== this.masksProperties[e].mode && (this.viewData[e].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[e].invRect.setAttribute("transform", a.getInverseMatrix().to2dCSS()), this.storedData[e].x && (this.storedData[e].x._mdf || t))) {
                            var r = this.storedData[e].expan;
                            this.storedData[e].x.v < 0 ? ("erode" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = "erode", this.storedData[e].elem.setAttribute("filter", "url(" + locationHref + "#" + this.storedData[e].filterId + ")")), r.setAttribute("radius", -this.storedData[e].x.v)) : ("dilate" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = "dilate", this.storedData[e].elem.setAttribute("filter", null)), this.storedData[e].elem.setAttribute("stroke-width", 2 * this.storedData[e].x.v))
                        }
                }, MaskElement.prototype.getMaskelement = function() {
                    return this.maskElement
                }, MaskElement.prototype.createLayerSolidPath = function() {
                    var t = "M0,0 ";
                    return t += " h" + this.globalData.compSize.w, t += " v" + this.globalData.compSize.h, t += " h-" + this.globalData.compSize.w, t += " v-" + this.globalData.compSize.h + " "
                }, MaskElement.prototype.drawPath = function(t, e, a) {
                    var i, r, s = " M" + e.v[0][0] + "," + e.v[0][1];
                    for (r = e._length, i = 1; i < r; i += 1) s += " C" + e.o[i - 1][0] + "," + e.o[i - 1][1] + " " + e.i[i][0] + "," + e.i[i][1] + " " + e.v[i][0] + "," + e.v[i][1];
                    if (e.c && r > 1 && (s += " C" + e.o[i - 1][0] + "," + e.o[i - 1][1] + " " + e.i[0][0] + "," + e.i[0][1] + " " + e.v[0][0] + "," + e.v[0][1]), a.lastPath !== s) {
                        var n = "";
                        a.elem && (e.c && (n = t.inv ? this.solidPath + s : s), a.elem.setAttribute("d", n)), a.lastPath = s
                    }
                }, MaskElement.prototype.destroy = function() {
                    this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null
                }, HierarchyElement.prototype = {
                    initHierarchy: function() {
                        this.hierarchy = [], this._isParent = !1, this.checkParenting()
                    },
                    setHierarchy: function(t) {
                        this.hierarchy = t
                    },
                    setAsParent: function() {
                        this._isParent = !0
                    },
                    checkParenting: function() {
                        void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, [])
                    }
                }, FrameElement.prototype = {
                    initFrame: function() {
                        this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1
                    },
                    prepareProperties: function(t, e) {
                        var a, i = this.dynamicProperties.length;
                        for (a = 0; a < i; a += 1)(e || this._isParent && "transform" === this.dynamicProperties[a].propType) && (this.dynamicProperties[a].getValue(), this.dynamicProperties[a]._mdf && (this.globalData._mdf = !0, this._mdf = !0))
                    },
                    addDynamicProperty: function(t) {
                        -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t)
                    }
                }, TransformElement.prototype = {
                    initTransform: function() {
                        this.finalTransform = {
                            mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {
                                o: 0
                            },
                            _matMdf: !1,
                            _opMdf: !1,
                            mat: new Matrix
                        }, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty
                    },
                    renderTransform: function() {
                        if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {
                            var t, e = this.finalTransform.mat,
                                a = 0,
                                i = this.hierarchy.length;
                            if (!this.finalTransform._matMdf)
                                for (; a < i;) {
                                    if (this.hierarchy[a].finalTransform.mProp._mdf) {
                                        this.finalTransform._matMdf = !0;
                                        break
                                    }
                                    a += 1
                                }
                            if (this.finalTransform._matMdf)
                                for (t = this.finalTransform.mProp.v.props, e.cloneFromProps(t), a = 0; a < i; a += 1) t = this.hierarchy[a].finalTransform.mProp.v.props, e.transform(t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15])
                        }
                    },
                    globalToLocal: function(t) {
                        var e = [];
                        e.push(this.finalTransform);
                        for (var a, i = !0, r = this.comp; i;) r.finalTransform ? (r.data.hasMask && e.splice(0, 0, r.finalTransform), r = r.comp) : i = !1;
                        var s, n = e.length;
                        for (a = 0; a < n; a += 1) s = e[a].mat.applyToPointArray(0, 0, 0), t = [t[0] - s[0], t[1] - s[1], 0];
                        return t
                    },
                    mHelper: new Matrix
                }, RenderableElement.prototype = {
                    initRenderable: function() {
                        this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = []
                    },
                    addRenderableComponent: function(t) {
                        -1 === this.renderableComponents.indexOf(t) && this.renderableComponents.push(t)
                    },
                    removeRenderableComponent: function(t) {
                        -1 !== this.renderableComponents.indexOf(t) && this.renderableComponents.splice(this.renderableComponents.indexOf(t), 1)
                    },
                    prepareRenderableFrame: function(t) {
                        this.checkLayerLimits(t)
                    },
                    checkTransparency: function() {
                        this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show())
                    },
                    checkLayerLimits: function(t) {
                        this.data.ip - this.data.st <= t && this.data.op - this.data.st > t ? !0 !== this.isInRange && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : !1 !== this.isInRange && (this.globalData._mdf = !0, this.isInRange = !1, this.hide())
                    },
                    renderRenderable: function() {
                        var t, e = this.renderableComponents.length;
                        for (t = 0; t < e; t += 1) this.renderableComponents[t].renderFrame(this._isFirstFrame)
                    },
                    sourceRectAtTime: function() {
                        return {
                            top: 0,
                            left: 0,
                            width: 100,
                            height: 100
                        }
                    },
                    getLayerSize: function() {
                        return 5 === this.data.ty ? {
                            w: this.data.textData.width,
                            h: this.data.textData.height
                        } : {
                            w: this.data.width,
                            h: this.data.height
                        }
                    }
                }, extendPrototype([RenderableElement, createProxyFunction({
                    initElement: function(t, e, a) {
                        this.initFrame(), this.initBaseData(t, e, a), this.initTransform(t, e, a), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide()
                    },
                    hide: function() {
                        this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = "none", this.hidden = !0)
                    },
                    show: function() {
                        this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = "block"), this.hidden = !1, this._isFirstFrame = !0)
                    },
                    renderFrame: function() {
                        this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1))
                    },
                    renderInnerContent: function() {},
                    prepareFrame: function(t) {
                        this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.checkTransparency()
                    },
                    destroy: function() {
                        this.innerElem = null, this.destroyBaseElement()
                    }
                })], RenderableDOMElement), SVGStyleData.prototype.reset = function() {
                    this.d = "", this._mdf = !1
                }, SVGShapeData.prototype.setAsAnimated = function() {
                    this._isAnimated = !0
                }, extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), SVGGradientFillStyleData.prototype.initGradientData = function(t, e, a) {
                    this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.s = PropertyFactory.getProp(t, e.s, 1, null, this), this.e = PropertyFactory.getProp(t, e.e, 1, null, this), this.h = PropertyFactory.getProp(t, e.h || {
                        k: 0
                    }, 0, .01, this), this.a = PropertyFactory.getProp(t, e.a || {
                        k: 0
                    }, 0, degToRads, this), this.g = new GradientProperty(t, e.g, this), this.style = a, this.stops = [], this.setGradientData(a.pElem, e), this.setGradientOpacity(e, a), this._isAnimated = !!this._isAnimated
                }, SVGGradientFillStyleData.prototype.setGradientData = function(t, e) {
                    var a = createElementID(),
                        i = createNS(1 === e.t ? "linearGradient" : "radialGradient");
                    i.setAttribute("id", a), i.setAttribute("spreadMethod", "pad"), i.setAttribute("gradientUnits", "userSpaceOnUse");
                    var r, s, n, o = [];
                    for (n = 4 * e.g.p, s = 0; s < n; s += 4) r = createNS("stop"), i.appendChild(r), o.push(r);
                    t.setAttribute("gf" === e.ty ? "fill" : "stroke", "url(" + locationHref + "#" + a + ")"), this.gf = i, this.cst = o
                }, SVGGradientFillStyleData.prototype.setGradientOpacity = function(t, e) {
                    if (this.g._hasOpacity && !this.g._collapsable) {
                        var a, i, r, s = createNS("mask"),
                            n = createNS("path");
                        s.appendChild(n);
                        var o = createElementID(),
                            l = createElementID();
                        s.setAttribute("id", l);
                        var h = createNS(1 === t.t ? "linearGradient" : "radialGradient");
                        h.setAttribute("id", o), h.setAttribute("spreadMethod", "pad"), h.setAttribute("gradientUnits", "userSpaceOnUse"), r = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length;
                        var p = this.stops;
                        for (i = 4 * t.g.p; i < r; i += 2)(a = createNS("stop")).setAttribute("stop-color", "rgb(255,255,255)"), h.appendChild(a), p.push(a);
                        n.setAttribute("gf" === t.ty ? "fill" : "stroke", "url(" + locationHref + "#" + o + ")"), this.of = h, this.ms = s, this.ost = p, this.maskId = l, e.msElem = n
                    }
                }, extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData), extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);
                var SVGElementsRenderer = function() {
                    var t = new Matrix,
                        e = new Matrix;

                    function a(t, e, a) {
                        (a || e.transform.op._mdf) && e.transform.container.setAttribute("opacity", e.transform.op.v), (a || e.transform.mProps._mdf) && e.transform.container.setAttribute("transform", e.transform.mProps.v.to2dCSS())
                    }

                    function i(a, i, r) {
                        var s, n, o, l, h, p, c, m, d, f, u, g = i.styles.length,
                            y = i.lvl;
                        for (p = 0; p < g; p += 1) {
                            if (l = i.sh._mdf || r, i.styles[p].lvl < y) {
                                for (m = e.reset(), f = y - i.styles[p].lvl, u = i.transformers.length - 1; !l && f > 0;) l = i.transformers[u].mProps._mdf || l, f -= 1, u -= 1;
                                if (l)
                                    for (f = y - i.styles[p].lvl, u = i.transformers.length - 1; f > 0;) d = i.transformers[u].mProps.v.props, m.transform(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10], d[11], d[12], d[13], d[14], d[15]), f -= 1, u -= 1
                            } else m = t; if (n = (c = i.sh.paths)._length, l) {
                                for (o = "", s = 0; s < n; s += 1)(h = c.shapes[s]) && h._length && (o += buildShapeString(h, h._length, h.c, m));
                                i.caches[p] = o
                            } else o = i.caches[p];
                            i.styles[p].d += !0 === a.hd ? "" : o, i.styles[p]._mdf = l || i.styles[p]._mdf
                        }
                    }

                    function r(t, e, a) {
                        var i = e.style;
                        (e.c._mdf || a) && i.pElem.setAttribute("fill", "rgb(" + bmFloor(e.c.v[0]) + "," + bmFloor(e.c.v[1]) + "," + bmFloor(e.c.v[2]) + ")"), (e.o._mdf || a) && i.pElem.setAttribute("fill-opacity", e.o.v)
                    }

                    function s(t, e, a) {
                        n(t, e, a), o(t, e, a)
                    }

                    function n(t, e, a) {
                        var i, r, s, n, o, l = e.gf,
                            h = e.g._hasOpacity,
                            p = e.s.v,
                            c = e.e.v;
                        if (e.o._mdf || a) {
                            var m = "gf" === t.ty ? "fill-opacity" : "stroke-opacity";
                            e.style.pElem.setAttribute(m, e.o.v)
                        }
                        if (e.s._mdf || a) {
                            var d = 1 === t.t ? "x1" : "cx",
                                f = "x1" === d ? "y1" : "cy";
                            l.setAttribute(d, p[0]), l.setAttribute(f, p[1]), h && !e.g._collapsable && (e.of.setAttribute(d, p[0]), e.of.setAttribute(f, p[1]))
                        }
                        if (e.g._cmdf || a) {
                            i = e.cst;
                            var u = e.g.c;
                            for (s = i.length, r = 0; r < s; r += 1)(n = i[r]).setAttribute("offset", u[4 * r] + "%"), n.setAttribute("stop-color", "rgb(" + u[4 * r + 1] + "," + u[4 * r + 2] + "," + u[4 * r + 3] + ")")
                        }
                        if (h && (e.g._omdf || a)) {
                            var g = e.g.o;
                            for (s = (i = e.g._collapsable ? e.cst : e.ost).length, r = 0; r < s; r += 1) n = i[r], e.g._collapsable || n.setAttribute("offset", g[2 * r] + "%"), n.setAttribute("stop-opacity", g[2 * r + 1])
                        }
                        if (1 === t.t)(e.e._mdf || a) && (l.setAttribute("x2", c[0]), l.setAttribute("y2", c[1]), h && !e.g._collapsable && (e.of.setAttribute("x2", c[0]), e.of.setAttribute("y2", c[1])));
                        else if ((e.s._mdf || e.e._mdf || a) && (o = Math.sqrt(Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)), l.setAttribute("r", o), h && !e.g._collapsable && e.of.setAttribute("r", o)), e.e._mdf || e.h._mdf || e.a._mdf || a) {
                            o || (o = Math.sqrt(Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)));
                            var y = Math.atan2(c[1] - p[1], c[0] - p[0]),
                                v = e.h.v;
                            v >= 1 ? v = .99 : v <= -1 && (v = -.99);
                            var x = o * v,
                                k = Math.cos(y + e.a.v) * x + p[0],
                                b = Math.sin(y + e.a.v) * x + p[1];
                            l.setAttribute("fx", k), l.setAttribute("fy", b), h && !e.g._collapsable && (e.of.setAttribute("fx", k), e.of.setAttribute("fy", b))
                        }
                    }

                    function o(t, e, a) {
                        var i = e.style,
                            r = e.d;
                        r && (r._mdf || a) && r.dashStr && (i.pElem.setAttribute("stroke-dasharray", r.dashStr), i.pElem.setAttribute("stroke-dashoffset", r.dashoffset[0])), e.c && (e.c._mdf || a) && i.pElem.setAttribute("stroke", "rgb(" + bmFloor(e.c.v[0]) + "," + bmFloor(e.c.v[1]) + "," + bmFloor(e.c.v[2]) + ")"), (e.o._mdf || a) && i.pElem.setAttribute("stroke-opacity", e.o.v), (e.w._mdf || a) && (i.pElem.setAttribute("stroke-width", e.w.v), i.msElem && i.msElem.setAttribute("stroke-width", e.w.v))
                    }
                    return {
                        createRenderFunction: function(t) {
                            switch (t.ty) {
                                case "fl":
                                    return r;
                                case "gf":
                                    return n;
                                case "gs":
                                    return s;
                                case "st":
                                    return o;
                                case "sh":
                                case "el":
                                case "rc":
                                case "sr":
                                    return i;
                                case "tr":
                                    return a;
                                default:
                                    return null
                            }
                        }
                    }
                }();

                function ShapeTransformManager() {
                    this.sequences = {}, this.sequenceList = [], this.transform_key_count = 0
                }

                function CVShapeData(t, e, a, i) {
                    this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];
                    var r, s = 4;
                    "rc" === e.ty ? s = 5 : "el" === e.ty ? s = 6 : "sr" === e.ty && (s = 7), this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t);
                    var n, o = a.length;
                    for (r = 0; r < o; r += 1) a[r].closed || (n = {
                        transforms: i.addTransformSequence(a[r].transforms),
                        trNodes: []
                    }, this.styledShapes.push(n), a[r].elements.push(n))
                }

                function BaseElement() {}

                function NullElement(t, e, a) {
                    this.initFrame(), this.initBaseData(t, e, a), this.initFrame(), this.initTransform(t, e, a), this.initHierarchy()
                }

                function SVGBaseElement() {}

                function IShapeElement() {}

                function ITextElement() {}

                function ICompElement() {}

                function IImageElement(t, e, a) {
                    this.assetData = e.getAssetData(t.refId), this.initElement(t, e, a), this.sourceRect = {
                        top: 0,
                        left: 0,
                        width: this.assetData.w,
                        height: this.assetData.h
                    }
                }

                function ISolidElement(t, e, a) {
                    this.initElement(t, e, a)
                }

                function AudioElement(t, e, a) {
                    this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.initBaseData(t, e, a), this._isPlaying = !1, this._canPlay = !1;
                    var i = this.globalData.getAssetsPath(this.assetData);
                    this.audio = this.globalData.audioController.createAudio(i), this._currentTime = 0, this.globalData.audioController.addAudio(this), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {
                        _placeholder: !0
                    }
                }

                function FootageElement(t, e, a) {
                    this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.footageData = e.imageLoader.getAsset(this.assetData), this.initBaseData(t, e, a)
                }

                function SVGCompElement(t, e, a) {
                    this.layers = t.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, a), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {
                        _placeholder: !0
                    }
                }

                function SVGTextLottieElement(t, e, a) {
                    this.textSpans = [], this.renderType = "svg", this.initElement(t, e, a)
                }

                function SVGShapeElement(t, e, a) {
                    this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t, e, a), this.prevViewData = []
                }

                function SVGTintFilter(t, e) {
                    this.filterManager = e;
                    var a = createNS("feColorMatrix");
                    if (a.setAttribute("type", "matrix"), a.setAttribute("color-interpolation-filters", "linearRGB"), a.setAttribute("values", "0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"), a.setAttribute("result", "f1"), t.appendChild(a), (a = createNS("feColorMatrix")).setAttribute("type", "matrix"), a.setAttribute("color-interpolation-filters", "sRGB"), a.setAttribute("values", "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"), a.setAttribute("result", "f2"), t.appendChild(a), this.matrixFilter = a, 100 !== e.effectElements[2].p.v || e.effectElements[2].p.k) {
                        var i, r = createNS("feMerge");
                        t.appendChild(r), (i = createNS("feMergeNode")).setAttribute("in", "SourceGraphic"), r.appendChild(i), (i = createNS("feMergeNode")).setAttribute("in", "f2"), r.appendChild(i)
                    }
                }

                function SVGFillFilter(t, e) {
                    this.filterManager = e;
                    var a = createNS("feColorMatrix");
                    a.setAttribute("type", "matrix"), a.setAttribute("color-interpolation-filters", "sRGB"), a.setAttribute("values", "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"), t.appendChild(a), this.matrixFilter = a
                }

                function SVGGaussianBlurEffect(t, e) {
                    t.setAttribute("x", "-100%"), t.setAttribute("y", "-100%"), t.setAttribute("width", "300%"), t.setAttribute("height", "300%"), this.filterManager = e;
                    var a = createNS("feGaussianBlur");
                    t.appendChild(a), this.feGaussianBlur = a
                }

                function SVGStrokeEffect(t, e) {
                    this.initialized = !1, this.filterManager = e, this.elem = t, this.paths = []
                }

                function SVGTritoneFilter(t, e) {
                    this.filterManager = e;
                    var a = createNS("feColorMatrix");
                    a.setAttribute("type", "matrix"), a.setAttribute("color-interpolation-filters", "linearRGB"), a.setAttribute("values", "0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"), a.setAttribute("result", "f1"), t.appendChild(a);
                    var i = createNS("feComponentTransfer");
                    i.setAttribute("color-interpolation-filters", "sRGB"), t.appendChild(i), this.matrixFilter = i;
                    var r = createNS("feFuncR");
                    r.setAttribute("type", "table"), i.appendChild(r), this.feFuncR = r;
                    var s = createNS("feFuncG");
                    s.setAttribute("type", "table"), i.appendChild(s), this.feFuncG = s;
                    var n = createNS("feFuncB");
                    n.setAttribute("type", "table"), i.appendChild(n), this.feFuncB = n
                }

                function SVGProLevelsFilter(t, e) {
                    this.filterManager = e;
                    var a = this.filterManager.effectElements,
                        i = createNS("feComponentTransfer");
                    (a[10].p.k || 0 !== a[10].p.v || a[11].p.k || 1 !== a[11].p.v || a[12].p.k || 1 !== a[12].p.v || a[13].p.k || 0 !== a[13].p.v || a[14].p.k || 1 !== a[14].p.v) && (this.feFuncR = this.createFeFunc("feFuncR", i)), (a[17].p.k || 0 !== a[17].p.v || a[18].p.k || 1 !== a[18].p.v || a[19].p.k || 1 !== a[19].p.v || a[20].p.k || 0 !== a[20].p.v || a[21].p.k || 1 !== a[21].p.v) && (this.feFuncG = this.createFeFunc("feFuncG", i)), (a[24].p.k || 0 !== a[24].p.v || a[25].p.k || 1 !== a[25].p.v || a[26].p.k || 1 !== a[26].p.v || a[27].p.k || 0 !== a[27].p.v || a[28].p.k || 1 !== a[28].p.v) && (this.feFuncB = this.createFeFunc("feFuncB", i)), (a[31].p.k || 0 !== a[31].p.v || a[32].p.k || 1 !== a[32].p.v || a[33].p.k || 1 !== a[33].p.v || a[34].p.k || 0 !== a[34].p.v || a[35].p.k || 1 !== a[35].p.v) && (this.feFuncA = this.createFeFunc("feFuncA", i)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (i.setAttribute("color-interpolation-filters", "sRGB"), t.appendChild(i), i = createNS("feComponentTransfer")), (a[3].p.k || 0 !== a[3].p.v || a[4].p.k || 1 !== a[4].p.v || a[5].p.k || 1 !== a[5].p.v || a[6].p.k || 0 !== a[6].p.v || a[7].p.k || 1 !== a[7].p.v) && (i.setAttribute("color-interpolation-filters", "sRGB"), t.appendChild(i), this.feFuncRComposed = this.createFeFunc("feFuncR", i), this.feFuncGComposed = this.createFeFunc("feFuncG", i), this.feFuncBComposed = this.createFeFunc("feFuncB", i))
                }

                function SVGDropShadowEffect(t, e) {
                    var a = e.container.globalData.renderConfig.filterSize;
                    t.setAttribute("x", a.x), t.setAttribute("y", a.y), t.setAttribute("width", a.width), t.setAttribute("height", a.height), this.filterManager = e;
                    var i = createNS("feGaussianBlur");
                    i.setAttribute("in", "SourceAlpha"), i.setAttribute("result", "drop_shadow_1"), i.setAttribute("stdDeviation", "0"), this.feGaussianBlur = i, t.appendChild(i);
                    var r = createNS("feOffset");
                    r.setAttribute("dx", "25"), r.setAttribute("dy", "0"), r.setAttribute("in", "drop_shadow_1"), r.setAttribute("result", "drop_shadow_2"), this.feOffset = r, t.appendChild(r);
                    var s = createNS("feFlood");
                    s.setAttribute("flood-color", "#00ff00"), s.setAttribute("flood-opacity", "1"), s.setAttribute("result", "drop_shadow_3"), this.feFlood = s, t.appendChild(s);
                    var n = createNS("feComposite");
                    n.setAttribute("in", "drop_shadow_3"), n.setAttribute("in2", "drop_shadow_2"), n.setAttribute("operator", "in"), n.setAttribute("result", "drop_shadow_4"), t.appendChild(n);
                    var o, l = createNS("feMerge");
                    t.appendChild(l), o = createNS("feMergeNode"), l.appendChild(o), (o = createNS("feMergeNode")).setAttribute("in", "SourceGraphic"), this.feMergeNode = o, this.feMerge = l, this.originalNodeAdded = !1, l.appendChild(o)
                }
                ShapeTransformManager.prototype = {
                    addTransformSequence: function(t) {
                        var e, a = t.length,
                            i = "_";
                        for (e = 0; e < a; e += 1) i += t[e].transform.key + "_";
                        var r = this.sequences[i];
                        return r || (r = {
                            transforms: [].concat(t),
                            finalTransform: new Matrix,
                            _mdf: !1
                        }, this.sequences[i] = r, this.sequenceList.push(r)), r
                    },
                    processSequence: function(t, e) {
                        for (var a, i = 0, r = t.transforms.length, s = e; i < r && !e;) {
                            if (t.transforms[i].transform.mProps._mdf) {
                                s = !0;
                                break
                            }
                            i += 1
                        }
                        if (s)
                            for (t.finalTransform.reset(), i = r - 1; i >= 0; i -= 1) a = t.transforms[i].transform.mProps.v.props, t.finalTransform.transform(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]);
                        t._mdf = s
                    },
                    processSequences: function(t) {
                        var e, a = this.sequenceList.length;
                        for (e = 0; e < a; e += 1) this.processSequence(this.sequenceList[e], t)
                    },
                    getNewKey: function() {
                        return this.transform_key_count += 1, "_" + this.transform_key_count
                    }
                }, CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated, BaseElement.prototype = {
                    checkMasks: function() {
                        if (!this.data.hasMask) return !1;
                        for (var t = 0, e = this.data.masksProperties.length; t < e;) {
                            if ("n" !== this.data.masksProperties[t].mode && !1 !== this.data.masksProperties[t].cl) return !0;
                            t += 1
                        }
                        return !1
                    },
                    initExpressions: function() {
                        this.layerInterface = LayerExpressionInterface(this), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);
                        var t = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);
                        this.layerInterface.registerEffectsInterface(t), 0 === this.data.ty || this.data.xt ? this.compInterface = CompExpressionInterface(this) : 4 === this.data.ty ? (this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface), this.layerInterface.content = this.layerInterface.shapeInterface) : 5 === this.data.ty && (this.layerInterface.textInterface = TextExpressionInterface(this), this.layerInterface.text = this.layerInterface.textInterface)
                    },
                    setBlendMode: function() {
                        var t = getBlendMode(this.data.bm);
                        (this.baseElement || this.layerElement).style["mix-blend-mode"] = t
                    },
                    initBaseData: function(t, e, a) {
                        this.globalData = e, this.comp = a, this.data = t, this.layerId = createElementID(), this.data.sr || (this.data.sr = 1), this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties)
                    },
                    getType: function() {
                        return this.type
                    },
                    sourceRectAtTime: function() {}
                }, NullElement.prototype.prepareFrame = function(t) {
                    this.prepareProperties(t, !0)
                }, NullElement.prototype.renderFrame = function() {}, NullElement.prototype.getBaseElement = function() {
                    return null
                }, NullElement.prototype.destroy = function() {}, NullElement.prototype.sourceRectAtTime = function() {}, NullElement.prototype.hide = function() {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement), SVGBaseElement.prototype = {
                    initRendererElement: function() {
                        this.layerElement = createNS("g")
                    },
                    createContainerElements: function() {
                        this.matteElement = createNS("g"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;
                        var t, e, a, i = null;
                        if (this.data.td) {
                            if (3 == this.data.td || 1 == this.data.td) {
                                var r = createNS("mask");
                                r.setAttribute("id", this.layerId), r.setAttribute("mask-type", 3 == this.data.td ? "luminance" : "alpha"), r.appendChild(this.layerElement), i = r, this.globalData.defs.appendChild(r), featureSupport.maskType || 1 != this.data.td || (r.setAttribute("mask-type", "luminance"), t = createElementID(), e = filtersFactory.createFilter(t), this.globalData.defs.appendChild(e), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (a = createNS("g")).appendChild(this.layerElement), i = a, r.appendChild(a), a.setAttribute("filter", "url(" + locationHref + "#" + t + ")"))
                            } else if (2 == this.data.td) {
                                var s = createNS("mask");
                                s.setAttribute("id", this.layerId), s.setAttribute("mask-type", "alpha");
                                var n = createNS("g");
                                s.appendChild(n), t = createElementID(), e = filtersFactory.createFilter(t);
                                var o = createNS("feComponentTransfer");
                                o.setAttribute("in", "SourceGraphic"), e.appendChild(o);
                                var l = createNS("feFuncA");
                                l.setAttribute("type", "table"), l.setAttribute("tableValues", "1.0 0.0"), o.appendChild(l), this.globalData.defs.appendChild(e);
                                var h = createNS("rect");
                                h.setAttribute("width", this.comp.data.w), h.setAttribute("height", this.comp.data.h), h.setAttribute("x", "0"), h.setAttribute("y", "0"), h.setAttribute("fill", "#ffffff"), h.setAttribute("opacity", "0"), n.setAttribute("filter", "url(" + locationHref + "#" + t + ")"), n.appendChild(h), n.appendChild(this.layerElement), i = n, featureSupport.maskType || (s.setAttribute("mask-type", "luminance"), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), a = createNS("g"), n.appendChild(h), a.appendChild(this.layerElement), i = a, n.appendChild(a)), this.globalData.defs.appendChild(s)
                            }
                        } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), i = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement; if (this.data.ln && this.layerElement.setAttribute("id", this.data.ln), this.data.cl && this.layerElement.setAttribute("class", this.data.cl), 0 === this.data.ty && !this.data.hd) {
                            var p = createNS("clipPath"),
                                c = createNS("path");
                            c.setAttribute("d", "M0,0 L" + this.data.w + ",0 L" + this.data.w + "," + this.data.h + " L0," + this.data.h + "z");
                            var m = createElementID();
                            if (p.setAttribute("id", m), p.appendChild(c), this.globalData.defs.appendChild(p), this.checkMasks()) {
                                var d = createNS("g");
                                d.setAttribute("clip-path", "url(" + locationHref + "#" + m + ")"), d.appendChild(this.layerElement), this.transformedElement = d, i ? i.appendChild(this.transformedElement) : this.baseElement = this.transformedElement
                            } else this.layerElement.setAttribute("clip-path", "url(" + locationHref + "#" + m + ")")
                        }
                        0 !== this.data.bm && this.setBlendMode()
                    },
                    renderElement: function() {
                        this.finalTransform._matMdf && this.transformedElement.setAttribute("transform", this.finalTransform.mat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute("opacity", this.finalTransform.mProp.o.v)
                    },
                    destroyBaseElement: function() {
                        this.layerElement = null, this.matteElement = null, this.maskManager.destroy()
                    },
                    getBaseElement: function() {
                        return this.data.hd ? null : this.baseElement
                    },
                    createRenderableComponents: function() {
                        this.maskManager = new MaskElement(this.data, this, this.globalData), this.renderableEffectsManager = new SVGEffects(this)
                    },
                    setMatte: function(t) {
                        this.matteElement && this.matteElement.setAttribute("mask", "url(" + locationHref + "#" + t + ")")
                    }
                }, IShapeElement.prototype = {
                    addShapeToModifiers: function(t) {
                        var e, a = this.shapeModifiers.length;
                        for (e = 0; e < a; e += 1) this.shapeModifiers[e].addShape(t)
                    },
                    isShapeInAnimatedModifiers: function(t) {
                        for (var e = this.shapeModifiers.length; 0 < e;)
                            if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0;
                        return !1
                    },
                    renderModifiers: function() {
                        if (this.shapeModifiers.length) {
                            var t, e = this.shapes.length;
                            for (t = 0; t < e; t += 1) this.shapes[t].sh.reset();
                            for (t = (e = this.shapeModifiers.length) - 1; t >= 0 && !this.shapeModifiers[t].processShapes(this._isFirstFrame); t -= 1);
                        }
                    },
                    lcEnum: {
                        1: "butt",
                        2: "round",
                        3: "square"
                    },
                    ljEnum: {
                        1: "miter",
                        2: "round",
                        3: "bevel"
                    },
                    searchProcessedElement: function(t) {
                        for (var e = this.processedElements, a = 0, i = e.length; a < i;) {
                            if (e[a].elem === t) return e[a].pos;
                            a += 1
                        }
                        return 0
                    },
                    addProcessedElement: function(t, e) {
                        for (var a = this.processedElements, i = a.length; i;)
                            if (a[i -= 1].elem === t) return void(a[i].pos = e);
                        a.push(new ProcessedElement(t, e))
                    },
                    prepareFrame: function(t) {
                        this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange)
                    }
                }, ITextElement.prototype.initElement = function(t, e, a) {
                    this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(t, e, a), this.textProperty = new TextProperty(this, t.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t.t, this.renderType, this), this.initTransform(t, e, a), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties)
                }, ITextElement.prototype.prepareFrame = function(t) {
                    this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1)
                }, ITextElement.prototype.createPathShape = function(t, e) {
                    var a, i, r = e.length,
                        s = "";
                    for (a = 0; a < r; a += 1) i = e[a].ks.k, s += buildShapeString(i, i.i.length, !0, t);
                    return s
                }, ITextElement.prototype.updateDocumentData = function(t, e) {
                    this.textProperty.updateDocumentData(t, e)
                }, ITextElement.prototype.canResizeFont = function(t) {
                    this.textProperty.canResizeFont(t)
                }, ITextElement.prototype.setMinimumFontSize = function(t) {
                    this.textProperty.setMinimumFontSize(t)
                }, ITextElement.prototype.applyTextPropertiesToMatrix = function(t, e, a, i, r) {
                    switch (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0), e.translate(0, -t.ls, 0), t.j) {
                        case 1:
                            e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[a]), 0, 0);
                            break;
                        case 2:
                            e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[a]) / 2, 0, 0)
                    }
                    e.translate(i, r, 0)
                }, ITextElement.prototype.buildColor = function(t) {
                    return "rgb(" + Math.round(255 * t[0]) + "," + Math.round(255 * t[1]) + "," + Math.round(255 * t[2]) + ")"
                }, ITextElement.prototype.emptyProp = new LetterProps, ITextElement.prototype.destroy = function() {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), ICompElement.prototype.initElement = function(t, e, a) {
                    this.initFrame(), this.initBaseData(t, e, a), this.initTransform(t, e, a), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), !this.data.xt && e.progressiveLoad || this.buildAllItems(), this.hide()
                }, ICompElement.prototype.prepareFrame = function(t) {
                    if (this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.isInRange || this.data.xt) {
                        if (this.tm._placeholder) this.renderedFrame = t / this.data.sr;
                        else {
                            var e = this.tm.v;
                            e === this.data.op && (e = this.data.op - 1), this.renderedFrame = e
                        }
                        var a, i = this.elements.length;
                        for (this.completeLayers || this.checkLayers(this.renderedFrame), a = i - 1; a >= 0; a -= 1)(this.completeLayers || this.elements[a]) && (this.elements[a].prepareFrame(this.renderedFrame - this.layers[a].st), this.elements[a]._mdf && (this._mdf = !0))
                    }
                }, ICompElement.prototype.renderInnerContent = function() {
                    var t, e = this.layers.length;
                    for (t = 0; t < e; t += 1)(this.completeLayers || this.elements[t]) && this.elements[t].renderFrame()
                }, ICompElement.prototype.setElements = function(t) {
                    this.elements = t
                }, ICompElement.prototype.getElements = function() {
                    return this.elements
                }, ICompElement.prototype.destroyElements = function() {
                    var t, e = this.layers.length;
                    for (t = 0; t < e; t += 1) this.elements[t] && this.elements[t].destroy()
                }, ICompElement.prototype.destroy = function() {
                    this.destroyElements(), this.destroyBaseElement()
                }, extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), IImageElement.prototype.createContent = function() {
                    var t = this.globalData.getAssetsPath(this.assetData);
                    this.innerElem = createNS("image"), this.innerElem.setAttribute("width", this.assetData.w + "px"), this.innerElem.setAttribute("height", this.assetData.h + "px"), this.innerElem.setAttribute("preserveAspectRatio", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", t), this.layerElement.appendChild(this.innerElem)
                }, IImageElement.prototype.sourceRectAtTime = function() {
                    return this.sourceRect
                }, extendPrototype([IImageElement], ISolidElement), ISolidElement.prototype.createContent = function() {
                    var t = createNS("rect");
                    t.setAttribute("width", this.data.sw), t.setAttribute("height", this.data.sh), t.setAttribute("fill", this.data.sc), this.layerElement.appendChild(t)
                }, AudioElement.prototype.prepareFrame = function(t) {
                    if (this.prepareRenderableFrame(t, !0), this.prepareProperties(t, !0), this.tm._placeholder) this._currentTime = t / this.data.sr;
                    else {
                        var e = this.tm.v;
                        this._currentTime = e
                    }
                }, extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), AudioElement.prototype.renderFrame = function() {
                    this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0))
                }, AudioElement.prototype.show = function() {}, AudioElement.prototype.hide = function() {
                    this.audio.pause(), this._isPlaying = !1
                }, AudioElement.prototype.pause = function() {
                    this.audio.pause(), this._isPlaying = !1, this._canPlay = !1
                }, AudioElement.prototype.resume = function() {
                    this._canPlay = !0
                }, AudioElement.prototype.setRate = function(t) {
                    this.audio.rate(t)
                }, AudioElement.prototype.volume = function(t) {
                    this.audio.volume(t)
                }, AudioElement.prototype.getBaseElement = function() {
                    return null
                }, AudioElement.prototype.destroy = function() {}, AudioElement.prototype.sourceRectAtTime = function() {}, AudioElement.prototype.initExpressions = function() {}, FootageElement.prototype.prepareFrame = function() {}, extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), FootageElement.prototype.getBaseElement = function() {
                    return null
                }, FootageElement.prototype.renderFrame = function() {}, FootageElement.prototype.destroy = function() {}, FootageElement.prototype.initExpressions = function() {
                    this.layerInterface = FootageInterface(this)
                }, FootageElement.prototype.getFootageData = function() {
                    return this.footageData
                }, extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), SVGTextLottieElement.prototype.createContent = function() {
                    this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS("text"))
                }, SVGTextLottieElement.prototype.buildTextContents = function(t) {
                    for (var e = 0, a = t.length, i = [], r = ""; e < a;) t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (i.push(r), r = "") : r += t[e], e += 1;
                    return i.push(r), i
                }, SVGTextLottieElement.prototype.buildNewText = function() {
                    var t, e, a = this.textProperty.currentData;
                    this.renderedLetters = createSizedArray(a ? a.l.length : 0), a.fc ? this.layerElement.setAttribute("fill", this.buildColor(a.fc)) : this.layerElement.setAttribute("fill", "rgba(0,0,0,0)"), a.sc && (this.layerElement.setAttribute("stroke", this.buildColor(a.sc)), this.layerElement.setAttribute("stroke-width", a.sw)), this.layerElement.setAttribute("font-size", a.finalSize);
                    var i = this.globalData.fontManager.getFontByName(a.f);
                    if (i.fClass) this.layerElement.setAttribute("class", i.fClass);
                    else {
                        this.layerElement.setAttribute("font-family", i.fFamily);
                        var r = a.fWeight,
                            s = a.fStyle;
                        this.layerElement.setAttribute("font-style", s), this.layerElement.setAttribute("font-weight", r)
                    }
                    this.layerElement.setAttribute("aria-label", a.t);
                    var n, o = a.l || [],
                        l = !!this.globalData.fontManager.chars;
                    e = o.length;
                    var h, p = this.mHelper,
                        c = "",
                        m = this.data.singleShape,
                        d = 0,
                        f = 0,
                        u = !0,
                        g = .001 * a.tr * a.finalSize;
                    if (!m || l || a.sz) {
                        var y, v, x = this.textSpans.length;
                        for (t = 0; t < e; t += 1) l && m && 0 !== t || (n = x > t ? this.textSpans[t] : createNS(l ? "path" : "text"), x <= t && (n.setAttribute("stroke-linecap", "butt"), n.setAttribute("stroke-linejoin", "round"), n.setAttribute("stroke-miterlimit", "4"), this.textSpans[t] = n, this.layerElement.appendChild(n)), n.style.display = "inherit"), p.reset(), p.scale(a.finalSize / 100, a.finalSize / 100), m && (o[t].n && (d = -g, f += a.yOffset, f += u ? 1 : 0, u = !1), this.applyTextPropertiesToMatrix(a, p, o[t].line, d, f), d += o[t].l || 0, d += g), l ? (h = (y = (v = this.globalData.fontManager.getCharData(a.finalText[t], i.fStyle, this.globalData.fontManager.getFontByName(a.f).fFamily)) && v.data || {}).shapes ? y.shapes[0].it : [], m ? c += this.createPathShape(p, h) : n.setAttribute("d", this.createPathShape(p, h))) : (m && n.setAttribute("transform", "translate(" + p.props[12] + "," + p.props[13] + ")"), n.textContent = o[t].val, n.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"));
                        m && n && n.setAttribute("d", c)
                    } else {
                        var k = this.textContainer,
                            b = "start";
                        switch (a.j) {
                            case 1:
                                b = "end";
                                break;
                            case 2:
                                b = "middle";
                                break;
                            default:
                                b = "start"
                        }
                        k.setAttribute("text-anchor", b), k.setAttribute("letter-spacing", g);
                        var E = this.buildTextContents(a.finalText);
                        for (e = E.length, f = a.ps ? a.ps[1] + a.ascent : 0, t = 0; t < e; t += 1)(n = this.textSpans[t] || createNS("tspan")).textContent = E[t], n.setAttribute("x", 0), n.setAttribute("y", f), n.style.display = "inherit", k.appendChild(n), this.textSpans[t] = n, f += a.finalLineHeight;
                        this.layerElement.appendChild(k)
                    }
                    for (; t < this.textSpans.length;) this.textSpans[t].style.display = "none", t += 1;
                    this._sizeChanged = !0
                }, SVGTextLottieElement.prototype.sourceRectAtTime = function() {
                    if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {
                        this._sizeChanged = !1;
                        var t = this.layerElement.getBBox();
                        this.bbox = {
                            top: t.y,
                            left: t.x,
                            width: t.width,
                            height: t.height
                        }
                    }
                    return this.bbox
                }, SVGTextLottieElement.prototype.renderInnerContent = function() {
                    if (!this.data.singleShape && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {
                        var t, e;
                        this._sizeChanged = !0;
                        var a, i, r = this.textAnimator.renderedLetters,
                            s = this.textProperty.currentData.l;
                        for (e = s.length, t = 0; t < e; t += 1) s[t].n || (a = r[t], i = this.textSpans[t], a._mdf.m && i.setAttribute("transform", a.m), a._mdf.o && i.setAttribute("opacity", a.o), a._mdf.sw && i.setAttribute("stroke-width", a.sw), a._mdf.sc && i.setAttribute("stroke", a.sc), a._mdf.fc && i.setAttribute("fill", a.fc))
                    }
                }, extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), SVGShapeElement.prototype.initSecondaryElement = function() {}, SVGShapeElement.prototype.identityMatrix = new Matrix, SVGShapeElement.prototype.buildExpressionInterface = function() {}, SVGShapeElement.prototype.createContent = function() {
                    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes()
                }, SVGShapeElement.prototype.filterUniqueShapes = function() {
                    var t, e, a, i, r = this.shapes.length,
                        s = this.stylesList.length,
                        n = [],
                        o = !1;
                    for (a = 0; a < s; a += 1) {
                        for (i = this.stylesList[a], o = !1, n.length = 0, t = 0; t < r; t += 1) - 1 !== (e = this.shapes[t]).styles.indexOf(i) && (n.push(e), o = e._isAnimated || o);
                        n.length > 1 && o && this.setShapesAsAnimated(n)
                    }
                }, SVGShapeElement.prototype.setShapesAsAnimated = function(t) {
                    var e, a = t.length;
                    for (e = 0; e < a; e += 1) t[e].setAsAnimated()
                }, SVGShapeElement.prototype.createStyleElement = function(t, e) {
                    var a, i = new SVGStyleData(t, e),
                        r = i.pElem;
                    if ("st" === t.ty) a = new SVGStrokeStyleData(this, t, i);
                    else if ("fl" === t.ty) a = new SVGFillStyleData(this, t, i);
                    else if ("gf" === t.ty || "gs" === t.ty) {
                        a = new("gf" === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, t, i), this.globalData.defs.appendChild(a.gf), a.maskId && (this.globalData.defs.appendChild(a.ms), this.globalData.defs.appendChild(a.of), r.setAttribute("mask", "url(" + locationHref + "#" + a.maskId + ")"))
                    }
                    return "st" !== t.ty && "gs" !== t.ty || (r.setAttribute("stroke-linecap", this.lcEnum[t.lc] || "round"), r.setAttribute("stroke-linejoin", this.ljEnum[t.lj] || "round"), r.setAttribute("fill-opacity", "0"), 1 === t.lj && r.setAttribute("stroke-miterlimit", t.ml)), 2 === t.r && r.setAttribute("fill-rule", "evenodd"), t.ln && r.setAttribute("id", t.ln), t.cl && r.setAttribute("class", t.cl), t.bm && (r.style["mix-blend-mode"] = getBlendMode(t.bm)), this.stylesList.push(i), this.addToAnimatedContents(t, a), a
                }, SVGShapeElement.prototype.createGroupElement = function(t) {
                    var e = new ShapeGroupData;
                    return t.ln && e.gr.setAttribute("id", t.ln), t.cl && e.gr.setAttribute("class", t.cl), t.bm && (e.gr.style["mix-blend-mode"] = getBlendMode(t.bm)), e
                }, SVGShapeElement.prototype.createTransformElement = function(t, e) {
                    var a = TransformPropertyFactory.getTransformProperty(this, t, this),
                        i = new SVGTransformData(a, a.o, e);
                    return this.addToAnimatedContents(t, i), i
                }, SVGShapeElement.prototype.createShapeElement = function(t, e, a) {
                    var i = 4;
                    "rc" === t.ty ? i = 5 : "el" === t.ty ? i = 6 : "sr" === t.ty && (i = 7);
                    var r = new SVGShapeData(e, a, ShapePropertyFactory.getShapeProp(this, t, i, this));
                    return this.shapes.push(r), this.addShapeToModifiers(r), this.addToAnimatedContents(t, r), r
                }, SVGShapeElement.prototype.addToAnimatedContents = function(t, e) {
                    for (var a = 0, i = this.animatedContents.length; a < i;) {
                        if (this.animatedContents[a].element === e) return;
                        a += 1
                    }
                    this.animatedContents.push({
                        fn: SVGElementsRenderer.createRenderFunction(t),
                        element: e,
                        data: t
                    })
                }, SVGShapeElement.prototype.setElementStyles = function(t) {
                    var e, a = t.styles,
                        i = this.stylesList.length;
                    for (e = 0; e < i; e += 1) this.stylesList[e].closed || a.push(this.stylesList[e])
                }, SVGShapeElement.prototype.reloadShapes = function() {
                    var t;
                    this._isFirstFrame = !0;
                    var e = this.itemsData.length;
                    for (t = 0; t < e; t += 1) this.prevViewData[t] = this.itemsData[t];
                    for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), e = this.dynamicProperties.length, t = 0; t < e; t += 1) this.dynamicProperties[t].getValue();
                    this.renderModifiers()
                }, SVGShapeElement.prototype.searchShapes = function(t, e, a, i, r, s, n) {
                    var o, l, h, p, c, m, d = [].concat(s),
                        f = t.length - 1,
                        u = [],
                        g = [];
                    for (o = f; o >= 0; o -= 1) {
                        if ((m = this.searchProcessedElement(t[o])) ? e[o] = a[m - 1] : t[o]._render = n, "fl" === t[o].ty || "st" === t[o].ty || "gf" === t[o].ty || "gs" === t[o].ty) m ? e[o].style.closed = !1 : e[o] = this.createStyleElement(t[o], r), t[o]._render && i.appendChild(e[o].style.pElem), u.push(e[o].style);
                        else if ("gr" === t[o].ty) {
                            if (m)
                                for (h = e[o].it.length, l = 0; l < h; l += 1) e[o].prevViewData[l] = e[o].it[l];
                            else e[o] = this.createGroupElement(t[o]);
                            this.searchShapes(t[o].it, e[o].it, e[o].prevViewData, e[o].gr, r + 1, d, n), t[o]._render && i.appendChild(e[o].gr)
                        } else "tr" === t[o].ty ? (m || (e[o] = this.createTransformElement(t[o], i)), p = e[o].transform, d.push(p)) : "sh" === t[o].ty || "rc" === t[o].ty || "el" === t[o].ty || "sr" === t[o].ty ? (m || (e[o] = this.createShapeElement(t[o], d, r)), this.setElementStyles(e[o])) : "tm" === t[o].ty || "rd" === t[o].ty || "ms" === t[o].ty || "pb" === t[o].ty ? (m ? (c = e[o]).closed = !1 : ((c = ShapeModifiers.getModifier(t[o].ty)).init(this, t[o]), e[o] = c, this.shapeModifiers.push(c)), g.push(c)) : "rp" === t[o].ty && (m ? (c = e[o]).closed = !0 : (c = ShapeModifiers.getModifier(t[o].ty), e[o] = c, c.init(this, t, o, e), this.shapeModifiers.push(c), n = !1), g.push(c));
                        this.addProcessedElement(t[o], o + 1)
                    }
                    for (f = u.length, o = 0; o < f; o += 1) u[o].closed = !0;
                    for (f = g.length, o = 0; o < f; o += 1) g[o].closed = !0
                }, SVGShapeElement.prototype.renderInnerContent = function() {
                    var t;
                    this.renderModifiers();
                    var e = this.stylesList.length;
                    for (t = 0; t < e; t += 1) this.stylesList[t].reset();
                    for (this.renderShape(), t = 0; t < e; t += 1)(this.stylesList[t]._mdf || this._isFirstFrame) && (this.stylesList[t].msElem && (this.stylesList[t].msElem.setAttribute("d", this.stylesList[t].d), this.stylesList[t].d = "M0 0" + this.stylesList[t].d), this.stylesList[t].pElem.setAttribute("d", this.stylesList[t].d || "M0 0"))
                }, SVGShapeElement.prototype.renderShape = function() {
                    var t, e, a = this.animatedContents.length;
                    for (t = 0; t < a; t += 1) e = this.animatedContents[t], (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame)
                }, SVGShapeElement.prototype.destroy = function() {
                    this.destroyBaseElement(), this.shapesData = null, this.itemsData = null
                }, SVGTintFilter.prototype.renderFrame = function(t) {
                    if (t || this.filterManager._mdf) {
                        var e = this.filterManager.effectElements[0].p.v,
                            a = this.filterManager.effectElements[1].p.v,
                            i = this.filterManager.effectElements[2].p.v / 100;
                        this.matrixFilter.setAttribute("values", a[0] - e[0] + " 0 0 0 " + e[0] + " " + (a[1] - e[1]) + " 0 0 0 " + e[1] + " " + (a[2] - e[2]) + " 0 0 0 " + e[2] + " 0 0 0 " + i + " 0")
                    }
                }, SVGFillFilter.prototype.renderFrame = function(t) {
                    if (t || this.filterManager._mdf) {
                        var e = this.filterManager.effectElements[2].p.v,
                            a = this.filterManager.effectElements[6].p.v;
                        this.matrixFilter.setAttribute("values", "0 0 0 0 " + e[0] + " 0 0 0 0 " + e[1] + " 0 0 0 0 " + e[2] + " 0 0 0 " + a + " 0")
                    }
                }, SVGGaussianBlurEffect.prototype.renderFrame = function(t) {
                    if (t || this.filterManager._mdf) {
                        var e = .3 * this.filterManager.effectElements[0].p.v,
                            a = this.filterManager.effectElements[1].p.v,
                            i = 3 == a ? 0 : e,
                            r = 2 == a ? 0 : e;
                        this.feGaussianBlur.setAttribute("stdDeviation", i + " " + r);
                        var s = 1 == this.filterManager.effectElements[2].p.v ? "wrap" : "duplicate";
                        this.feGaussianBlur.setAttribute("edgeMode", s)
                    }
                }, SVGStrokeEffect.prototype.initialize = function() {
                    var t, e, a, i, r = this.elem.layerElement.children || this.elem.layerElement.childNodes;
                    for (1 === this.filterManager.effectElements[1].p.v ? (i = this.elem.maskManager.masksProperties.length, a = 0) : i = (a = this.filterManager.effectElements[0].p.v - 1) + 1, (e = createNS("g")).setAttribute("fill", "none"), e.setAttribute("stroke-linecap", "round"), e.setAttribute("stroke-dashoffset", 1); a < i; a += 1) t = createNS("path"), e.appendChild(t), this.paths.push({
                        p: t,
                        m: a
                    });
                    if (3 === this.filterManager.effectElements[10].p.v) {
                        var s = createNS("mask"),
                            n = createElementID();
                        s.setAttribute("id", n), s.setAttribute("mask-type", "alpha"), s.appendChild(e), this.elem.globalData.defs.appendChild(s);
                        var o = createNS("g");
                        for (o.setAttribute("mask", "url(" + locationHref + "#" + n + ")"); r[0];) o.appendChild(r[0]);
                        this.elem.layerElement.appendChild(o), this.masker = s, e.setAttribute("stroke", "#fff")
                    } else if (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) {
                        if (2 === this.filterManager.effectElements[10].p.v)
                            for (r = this.elem.layerElement.children || this.elem.layerElement.childNodes; r.length;) this.elem.layerElement.removeChild(r[0]);
                        this.elem.layerElement.appendChild(e), this.elem.layerElement.removeAttribute("mask"), e.setAttribute("stroke", "#fff")
                    }
                    this.initialized = !0, this.pathMasker = e
                }, SVGStrokeEffect.prototype.renderFrame = function(t) {
                    var e;
                    this.initialized || this.initialize();
                    var a, i, r = this.paths.length;
                    for (e = 0; e < r; e += 1)
                        if (-1 !== this.paths[e].m && (a = this.elem.maskManager.viewData[this.paths[e].m], i = this.paths[e].p, (t || this.filterManager._mdf || a.prop._mdf) && i.setAttribute("d", a.lastPath), t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || a.prop._mdf)) {
                            var s;
                            if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {
                                var n = .01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),
                                    o = .01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),
                                    l = i.getTotalLength();
                                s = "0 0 0 " + l * n + " ";
                                var h, p = l * (o - n),
                                    c = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01,
                                    m = Math.floor(p / c);
                                for (h = 0; h < m; h += 1) s += "1 " + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01 + " ";
                                s += "0 " + 10 * l + " 0 0"
                            } else s = "1 " + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01;
                            i.setAttribute("stroke-dasharray", s)
                        }
                    if ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute("stroke-width", 2 * this.filterManager.effectElements[4].p.v), (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute("opacity", this.filterManager.effectElements[6].p.v), (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t || this.filterManager.effectElements[3].p._mdf)) {
                        var d = this.filterManager.effectElements[3].p.v;
                        this.pathMasker.setAttribute("stroke", "rgb(" + bmFloor(255 * d[0]) + "," + bmFloor(255 * d[1]) + "," + bmFloor(255 * d[2]) + ")")
                    }
                }, SVGTritoneFilter.prototype.renderFrame = function(t) {
                    if (t || this.filterManager._mdf) {
                        var e = this.filterManager.effectElements[0].p.v,
                            a = this.filterManager.effectElements[1].p.v,
                            i = this.filterManager.effectElements[2].p.v,
                            r = i[0] + " " + a[0] + " " + e[0],
                            s = i[1] + " " + a[1] + " " + e[1],
                            n = i[2] + " " + a[2] + " " + e[2];
                        this.feFuncR.setAttribute("tableValues", r), this.feFuncG.setAttribute("tableValues", s), this.feFuncB.setAttribute("tableValues", n)
                    }
                }, SVGProLevelsFilter.prototype.createFeFunc = function(t, e) {
                    var a = createNS(t);
                    return a.setAttribute("type", "table"), e.appendChild(a), a
                }, SVGProLevelsFilter.prototype.getTableValue = function(t, e, a, i, r) {
                    for (var s, n, o = 0, l = Math.min(t, e), h = Math.max(t, e), p = Array.call(null, {
                        length: 256
                    }), c = 0, m = r - i, d = e - t; o <= 256;) n = (s = o / 256) <= l ? d < 0 ? r : i : s >= h ? d < 0 ? i : r : i + m * Math.pow((s - t) / d, 1 / a), p[c] = n, c += 1, o += 256 / 255;
                    return p.join(" ")
                }, SVGProLevelsFilter.prototype.renderFrame = function(t) {
                    if (t || this.filterManager._mdf) {
                        var e, a = this.filterManager.effectElements;
                        this.feFuncRComposed && (t || a[3].p._mdf || a[4].p._mdf || a[5].p._mdf || a[6].p._mdf || a[7].p._mdf) && (e = this.getTableValue(a[3].p.v, a[4].p.v, a[5].p.v, a[6].p.v, a[7].p.v), this.feFuncRComposed.setAttribute("tableValues", e), this.feFuncGComposed.setAttribute("tableValues", e), this.feFuncBComposed.setAttribute("tableValues", e)), this.feFuncR && (t || a[10].p._mdf || a[11].p._mdf || a[12].p._mdf || a[13].p._mdf || a[14].p._mdf) && (e = this.getTableValue(a[10].p.v, a[11].p.v, a[12].p.v, a[13].p.v, a[14].p.v), this.feFuncR.setAttribute("tableValues", e)), this.feFuncG && (t || a[17].p._mdf || a[18].p._mdf || a[19].p._mdf || a[20].p._mdf || a[21].p._mdf) && (e = this.getTableValue(a[17].p.v, a[18].p.v, a[19].p.v, a[20].p.v, a[21].p.v), this.feFuncG.setAttribute("tableValues", e)), this.feFuncB && (t || a[24].p._mdf || a[25].p._mdf || a[26].p._mdf || a[27].p._mdf || a[28].p._mdf) && (e = this.getTableValue(a[24].p.v, a[25].p.v, a[26].p.v, a[27].p.v, a[28].p.v), this.feFuncB.setAttribute("tableValues", e)), this.feFuncA && (t || a[31].p._mdf || a[32].p._mdf || a[33].p._mdf || a[34].p._mdf || a[35].p._mdf) && (e = this.getTableValue(a[31].p.v, a[32].p.v, a[33].p.v, a[34].p.v, a[35].p.v), this.feFuncA.setAttribute("tableValues", e))
                    }
                }, SVGDropShadowEffect.prototype.renderFrame = function(t) {
                    if (t || this.filterManager._mdf) {
                        if ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute("stdDeviation", this.filterManager.effectElements[4].p.v / 4), t || this.filterManager.effectElements[0].p._mdf) {
                            var e = this.filterManager.effectElements[0].p.v;
                            this.feFlood.setAttribute("flood-color", rgbToHex(Math.round(255 * e[0]), Math.round(255 * e[1]), Math.round(255 * e[2])))
                        }
                        if ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute("flood-opacity", this.filterManager.effectElements[1].p.v / 255), t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {
                            var a = this.filterManager.effectElements[3].p.v,
                                i = (this.filterManager.effectElements[2].p.v - 90) * degToRads,
                                r = a * Math.cos(i),
                                s = a * Math.sin(i);
                            this.feOffset.setAttribute("dx", r), this.feOffset.setAttribute("dy", s)
                        }
                    }
                };
                var _svgMatteSymbols = [];

                function SVGMatte3Effect(t, e, a) {
                    this.initialized = !1, this.filterManager = e, this.filterElem = t, this.elem = a, a.matteElement = createNS("g"), a.matteElement.appendChild(a.layerElement), a.matteElement.appendChild(a.transformedElement), a.baseElement = a.matteElement
                }

                function SVGEffects(t) {
                    var e, a, i = t.data.ef ? t.data.ef.length : 0,
                        r = createElementID(),
                        s = filtersFactory.createFilter(r, !0),
                        n = 0;
                    for (this.filters = [], e = 0; e < i; e += 1) a = null, 20 === t.data.ef[e].ty ? (n += 1, a = new SVGTintFilter(s, t.effectsManager.effectElements[e])) : 21 === t.data.ef[e].ty ? (n += 1, a = new SVGFillFilter(s, t.effectsManager.effectElements[e])) : 22 === t.data.ef[e].ty ? a = new SVGStrokeEffect(t, t.effectsManager.effectElements[e]) : 23 === t.data.ef[e].ty ? (n += 1, a = new SVGTritoneFilter(s, t.effectsManager.effectElements[e])) : 24 === t.data.ef[e].ty ? (n += 1, a = new SVGProLevelsFilter(s, t.effectsManager.effectElements[e])) : 25 === t.data.ef[e].ty ? (n += 1, a = new SVGDropShadowEffect(s, t.effectsManager.effectElements[e])) : 28 === t.data.ef[e].ty ? a = new SVGMatte3Effect(s, t.effectsManager.effectElements[e], t) : 29 === t.data.ef[e].ty && (n += 1, a = new SVGGaussianBlurEffect(s, t.effectsManager.effectElements[e])), a && this.filters.push(a);
                    n && (t.globalData.defs.appendChild(s), t.layerElement.setAttribute("filter", "url(" + locationHref + "#" + r + ")")), this.filters.length && t.addRenderableComponent(this)
                }

                function CVContextData() {
                    var t;
                    this.saved = [], this.cArrPos = 0, this.cTr = new Matrix, this.cO = 1;
                    for (this.savedOp = createTypedArray("float32", 15), t = 0; t < 15; t += 1) this.saved[t] = createTypedArray("float32", 16);
                    this._length = 15
                }

                function CVBaseElement() {}

                function CVImageElement(t, e, a) {
                    this.assetData = e.getAssetData(t.refId), this.img = e.imageLoader.getAsset(this.assetData), this.initElement(t, e, a)
                }

                function CVCompElement(t, e, a) {
                    this.completeLayers = !1, this.layers = t.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t, e, a), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {
                        _placeholder: !0
                    }
                }

                function CVMaskElement(t, e) {
                    var a;
                    this.data = t, this.element = e, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);
                    var i = this.masksProperties.length,
                        r = !1;
                    for (a = 0; a < i; a += 1) "n" !== this.masksProperties[a].mode && (r = !0), this.viewData[a] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[a], 3);
                    this.hasMasks = r, r && this.element.addRenderableComponent(this)
                }

                function CVShapeElement(t, e, a) {
                    this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.itemsData = [], this.prevViewData = [], this.shapeModifiers = [], this.processedElements = [], this.transformsManager = new ShapeTransformManager, this.initElement(t, e, a)
                }

                function CVSolidElement(t, e, a) {
                    this.initElement(t, e, a)
                }

                function CVTextElement(t, e, a) {
                    this.textSpans = [], this.yOffset = 0, this.fillColorAnim = !1, this.strokeColorAnim = !1, this.strokeWidthAnim = !1, this.stroke = !1, this.fill = !1, this.justifyOffset = 0, this.currentRender = null, this.renderType = "canvas", this.values = {
                        fill: "rgba(0,0,0,0)",
                        stroke: "rgba(0,0,0,0)",
                        sWidth: 0,
                        fValue: ""
                    }, this.initElement(t, e, a)
                }

                function CVEffects() {}

                function HBaseElement() {}

                function HSolidElement(t, e, a) {
                    this.initElement(t, e, a)
                }

                function HCompElement(t, e, a) {
                    this.layers = t.layers, this.supports3d = !t.hasMask, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, a), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {
                        _placeholder: !0
                    }
                }

                function HShapeElement(t, e, a) {
                    this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.shapesContainer = createNS("g"), this.initElement(t, e, a), this.prevViewData = [], this.currentBBox = {
                        x: 999999,
                        y: -999999,
                        h: 0,
                        w: 0
                    }
                }

                function HTextElement(t, e, a) {
                    this.textSpans = [], this.textPaths = [], this.currentBBox = {
                        x: 999999,
                        y: -999999,
                        h: 0,
                        w: 0
                    }, this.renderType = "svg", this.isMasked = !1, this.initElement(t, e, a)
                }

                function HImageElement(t, e, a) {
                    this.assetData = e.getAssetData(t.refId), this.initElement(t, e, a)
                }

                function HCameraElement(t, e, a) {
                    this.initFrame(), this.initBaseData(t, e, a), this.initHierarchy();
                    var i = PropertyFactory.getProp;
                    if (this.pe = i(this, t.pe, 0, 0, this), t.ks.p.s ? (this.px = i(this, t.ks.p.x, 1, 0, this), this.py = i(this, t.ks.p.y, 1, 0, this), this.pz = i(this, t.ks.p.z, 1, 0, this)) : this.p = i(this, t.ks.p, 1, 0, this), t.ks.a && (this.a = i(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) {
                        var r, s = t.ks.or.k.length;
                        for (r = 0; r < s; r += 1) t.ks.or.k[r].to = null, t.ks.or.k[r].ti = null
                    }
                    this.or = i(this, t.ks.or, 1, degToRads, this), this.or.sh = !0, this.rx = i(this, t.ks.rx, 0, degToRads, this), this.ry = i(this, t.ks.ry, 0, degToRads, this), this.rz = i(this, t.ks.rz, 0, degToRads, this), this.mat = new Matrix, this._prevMat = new Matrix, this._isFirstFrame = !0, this.finalTransform = {
                        mProp: this
                    }
                }

                function HEffects() {}
                SVGMatte3Effect.prototype.findSymbol = function(t) {
                    for (var e = 0, a = _svgMatteSymbols.length; e < a;) {
                        if (_svgMatteSymbols[e] === t) return _svgMatteSymbols[e];
                        e += 1
                    }
                    return null
                }, SVGMatte3Effect.prototype.replaceInParent = function(t, e) {
                    var a = t.layerElement.parentNode;
                    if (a) {
                        for (var i, r = a.children, s = 0, n = r.length; s < n && r[s] !== t.layerElement;) s += 1;
                        s <= n - 2 && (i = r[s + 1]);
                        var o = createNS("use");
                        o.setAttribute("href", "#" + e), i ? a.insertBefore(o, i) : a.appendChild(o)
                    }
                }, SVGMatte3Effect.prototype.setElementAsMask = function(t, e) {
                    if (!this.findSymbol(e)) {
                        var a = createElementID(),
                            i = createNS("mask");
                        i.setAttribute("id", e.layerId), i.setAttribute("mask-type", "alpha"), _svgMatteSymbols.push(e);
                        var r = t.globalData.defs;
                        r.appendChild(i);
                        var s = createNS("symbol");
                        s.setAttribute("id", a), this.replaceInParent(e, a), s.appendChild(e.layerElement), r.appendChild(s);
                        var n = createNS("use");
                        n.setAttribute("href", "#" + a), i.appendChild(n), e.data.hd = !1, e.show()
                    }
                    t.setMatte(e.layerId)
                }, SVGMatte3Effect.prototype.initialize = function() {
                    for (var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, a = 0, i = e.length; a < i;) e[a] && e[a].data.ind === t && this.setElementAsMask(this.elem, e[a]), a += 1;
                    this.initialized = !0
                }, SVGMatte3Effect.prototype.renderFrame = function() {
                    this.initialized || this.initialize()
                }, SVGEffects.prototype.renderFrame = function(t) {
                    var e, a = this.filters.length;
                    for (e = 0; e < a; e += 1) this.filters[e].renderFrame(t)
                }, CVContextData.prototype.duplicate = function() {
                    var t = 2 * this._length,
                        e = this.savedOp;
                    this.savedOp = createTypedArray("float32", t), this.savedOp.set(e);
                    var a = 0;
                    for (a = this._length; a < t; a += 1) this.saved[a] = createTypedArray("float32", 16);
                    this._length = t
                }, CVContextData.prototype.reset = function() {
                    this.cArrPos = 0, this.cTr.reset(), this.cO = 1
                }, CVBaseElement.prototype = {
                    createElements: function() {},
                    initRendererElement: function() {},
                    createContainerElements: function() {
                        this.canvasContext = this.globalData.canvasContext, this.renderableEffectsManager = new CVEffects(this)
                    },
                    createContent: function() {},
                    setBlendMode: function() {
                        var t = this.globalData;
                        if (t.blendMode !== this.data.bm) {
                            t.blendMode = this.data.bm;
                            var e = getBlendMode(this.data.bm);
                            t.canvasContext.globalCompositeOperation = e
                        }
                    },
                    createRenderableComponents: function() {
                        this.maskManager = new CVMaskElement(this.data, this)
                    },
                    hideElement: function() {
                        this.hidden || this.isInRange && !this.isTransparent || (this.hidden = !0)
                    },
                    showElement: function() {
                        this.isInRange && !this.isTransparent && (this.hidden = !1, this._isFirstFrame = !0, this.maskManager._isFirstFrame = !0)
                    },
                    renderFrame: function() {
                        if (!this.hidden && !this.data.hd) {
                            this.renderTransform(), this.renderRenderable(), this.setBlendMode();
                            var t = 0 === this.data.ty;
                            this.globalData.renderer.save(t), this.globalData.renderer.ctxTransform(this.finalTransform.mat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v), this.renderInnerContent(), this.globalData.renderer.restore(t), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1)
                        }
                    },
                    destroy: function() {
                        this.canvasContext = null, this.data = null, this.globalData = null, this.maskManager.destroy()
                    },
                    mHelper: new Matrix
                }, CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement, CVBaseElement.prototype.show = CVBaseElement.prototype.showElement, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVImageElement.prototype.createContent = function() {
                    if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {
                        var t = createTag("canvas");
                        t.width = this.assetData.w, t.height = this.assetData.h;
                        var e, a, i = t.getContext("2d"),
                            r = this.img.width,
                            s = this.img.height,
                            n = r / s,
                            o = this.assetData.w / this.assetData.h,
                            l = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;
                        n > o && "xMidYMid slice" === l || n < o && "xMidYMid slice" !== l ? e = (a = s) * o : a = (e = r) / o, i.drawImage(this.img, (r - e) / 2, (s - a) / 2, e, a, 0, 0, this.assetData.w, this.assetData.h), this.img = t
                    }
                }, CVImageElement.prototype.renderInnerContent = function() {
                    this.canvasContext.drawImage(this.img, 0, 0)
                }, CVImageElement.prototype.destroy = function() {
                    this.img = null
                }, extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement), CVCompElement.prototype.renderInnerContent = function() {
                    var t, e = this.canvasContext;
                    for (e.beginPath(), e.moveTo(0, 0), e.lineTo(this.data.w, 0), e.lineTo(this.data.w, this.data.h), e.lineTo(0, this.data.h), e.lineTo(0, 0), e.clip(), t = this.layers.length - 1; t >= 0; t -= 1)(this.completeLayers || this.elements[t]) && this.elements[t].renderFrame()
                }, CVCompElement.prototype.destroy = function() {
                    var t;
                    for (t = this.layers.length - 1; t >= 0; t -= 1) this.elements[t] && this.elements[t].destroy();
                    this.layers = null, this.elements = null
                }, CVMaskElement.prototype.renderFrame = function() {
                    if (this.hasMasks) {
                        var t, e, a, i, r = this.element.finalTransform.mat,
                            s = this.element.canvasContext,
                            n = this.masksProperties.length;
                        for (s.beginPath(), t = 0; t < n; t += 1)
                            if ("n" !== this.masksProperties[t].mode) {
                                var o;
                                this.masksProperties[t].inv && (s.moveTo(0, 0), s.lineTo(this.element.globalData.compSize.w, 0), s.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), s.lineTo(0, this.element.globalData.compSize.h), s.lineTo(0, 0)), i = this.viewData[t].v, e = r.applyToPointArray(i.v[0][0], i.v[0][1], 0), s.moveTo(e[0], e[1]);
                                var l = i._length;
                                for (o = 1; o < l; o += 1) a = r.applyToTriplePoints(i.o[o - 1], i.i[o], i.v[o]), s.bezierCurveTo(a[0], a[1], a[2], a[3], a[4], a[5]);
                                a = r.applyToTriplePoints(i.o[o - 1], i.i[0], i.v[0]), s.bezierCurveTo(a[0], a[1], a[2], a[3], a[4], a[5])
                            }
                        this.element.globalData.renderer.save(!0), s.clip()
                    }
                }, CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty, CVMaskElement.prototype.destroy = function() {
                    this.element = null
                }, extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement, CVShapeElement.prototype.transformHelper = {
                    opacity: 1,
                    _opMdf: !1
                }, CVShapeElement.prototype.dashResetter = [], CVShapeElement.prototype.createContent = function() {
                    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, [])
                }, CVShapeElement.prototype.createStyleElement = function(t, e) {
                    var a = {
                            data: t,
                            type: t.ty,
                            preTransforms: this.transformsManager.addTransformSequence(e),
                            transforms: [],
                            elements: [],
                            closed: !0 === t.hd
                        },
                        i = {};
                    if ("fl" === t.ty || "st" === t.ty ? (i.c = PropertyFactory.getProp(this, t.c, 1, 255, this), i.c.k || (a.co = "rgb(" + bmFloor(i.c.v[0]) + "," + bmFloor(i.c.v[1]) + "," + bmFloor(i.c.v[2]) + ")")) : "gf" !== t.ty && "gs" !== t.ty || (i.s = PropertyFactory.getProp(this, t.s, 1, null, this), i.e = PropertyFactory.getProp(this, t.e, 1, null, this), i.h = PropertyFactory.getProp(this, t.h || {
                        k: 0
                    }, 0, .01, this), i.a = PropertyFactory.getProp(this, t.a || {
                        k: 0
                    }, 0, degToRads, this), i.g = new GradientProperty(this, t.g, this)), i.o = PropertyFactory.getProp(this, t.o, 0, .01, this), "st" === t.ty || "gs" === t.ty) {
                        if (a.lc = this.lcEnum[t.lc] || "round", a.lj = this.ljEnum[t.lj] || "round", 1 == t.lj && (a.ml = t.ml), i.w = PropertyFactory.getProp(this, t.w, 0, null, this), i.w.k || (a.wi = i.w.v), t.d) {
                            var r = new DashProperty(this, t.d, "canvas", this);
                            i.d = r, i.d.k || (a.da = i.d.dashArray, a.do = i.d.dashoffset[0])
                        }
                    } else a.r = 2 === t.r ? "evenodd" : "nonzero";
                    return this.stylesList.push(a), i.style = a, i
                }, CVShapeElement.prototype.createGroupElement = function() {
                    return {
                        it: [],
                        prevViewData: []
                    }
                }, CVShapeElement.prototype.createTransformElement = function(t) {
                    return {
                        transform: {
                            opacity: 1,
                            _opMdf: !1,
                            key: this.transformsManager.getNewKey(),
                            op: PropertyFactory.getProp(this, t.o, 0, .01, this),
                            mProps: TransformPropertyFactory.getTransformProperty(this, t, this)
                        }
                    }
                }, CVShapeElement.prototype.createShapeElement = function(t) {
                    var e = new CVShapeData(this, t, this.stylesList, this.transformsManager);
                    return this.shapes.push(e), this.addShapeToModifiers(e), e
                }, CVShapeElement.prototype.reloadShapes = function() {
                    var t;
                    this._isFirstFrame = !0;
                    var e = this.itemsData.length;
                    for (t = 0; t < e; t += 1) this.prevViewData[t] = this.itemsData[t];
                    for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []), e = this.dynamicProperties.length, t = 0; t < e; t += 1) this.dynamicProperties[t].getValue();
                    this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame)
                }, CVShapeElement.prototype.addTransformToStyleList = function(t) {
                    var e, a = this.stylesList.length;
                    for (e = 0; e < a; e += 1) this.stylesList[e].closed || this.stylesList[e].transforms.push(t)
                }, CVShapeElement.prototype.removeTransformFromStyleList = function() {
                    var t, e = this.stylesList.length;
                    for (t = 0; t < e; t += 1) this.stylesList[t].closed || this.stylesList[t].transforms.pop()
                }, CVShapeElement.prototype.closeStyles = function(t) {
                    var e, a = t.length;
                    for (e = 0; e < a; e += 1) t[e].closed = !0
                }, CVShapeElement.prototype.searchShapes = function(t, e, a, i, r) {
                    var s, n, o, l, h, p, c = t.length - 1,
                        m = [],
                        d = [],
                        f = [].concat(r);
                    for (s = c; s >= 0; s -= 1) {
                        if ((l = this.searchProcessedElement(t[s])) ? e[s] = a[l - 1] : t[s]._shouldRender = i, "fl" === t[s].ty || "st" === t[s].ty || "gf" === t[s].ty || "gs" === t[s].ty) l ? e[s].style.closed = !1 : e[s] = this.createStyleElement(t[s], f), m.push(e[s].style);
                        else if ("gr" === t[s].ty) {
                            if (l)
                                for (o = e[s].it.length, n = 0; n < o; n += 1) e[s].prevViewData[n] = e[s].it[n];
                            else e[s] = this.createGroupElement(t[s]);
                            this.searchShapes(t[s].it, e[s].it, e[s].prevViewData, i, f)
                        } else "tr" === t[s].ty ? (l || (p = this.createTransformElement(t[s]), e[s] = p), f.push(e[s]), this.addTransformToStyleList(e[s])) : "sh" === t[s].ty || "rc" === t[s].ty || "el" === t[s].ty || "sr" === t[s].ty ? l || (e[s] = this.createShapeElement(t[s])) : "tm" === t[s].ty || "rd" === t[s].ty || "pb" === t[s].ty ? (l ? (h = e[s]).closed = !1 : ((h = ShapeModifiers.getModifier(t[s].ty)).init(this, t[s]), e[s] = h, this.shapeModifiers.push(h)), d.push(h)) : "rp" === t[s].ty && (l ? (h = e[s]).closed = !0 : (h = ShapeModifiers.getModifier(t[s].ty), e[s] = h, h.init(this, t, s, e), this.shapeModifiers.push(h), i = !1), d.push(h));
                        this.addProcessedElement(t[s], s + 1)
                    }
                    for (this.removeTransformFromStyleList(), this.closeStyles(m), c = d.length, s = 0; s < c; s += 1) d[s].closed = !0
                }, CVShapeElement.prototype.renderInnerContent = function() {
                    this.transformHelper.opacity = 1, this.transformHelper._opMdf = !1, this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0)
                }, CVShapeElement.prototype.renderShapeTransform = function(t, e) {
                    (t._opMdf || e.op._mdf || this._isFirstFrame) && (e.opacity = t.opacity, e.opacity *= e.op.v, e._opMdf = !0)
                }, CVShapeElement.prototype.drawLayer = function() {
                    var t, e, a, i, r, s, n, o, l, h = this.stylesList.length,
                        p = this.globalData.renderer,
                        c = this.globalData.canvasContext;
                    for (t = 0; t < h; t += 1)
                        if (("st" !== (o = (l = this.stylesList[t]).type) && "gs" !== o || 0 !== l.wi) && l.data._shouldRender && 0 !== l.coOp && 0 !== this.globalData.currentGlobalAlpha) {
                            for (p.save(), s = l.elements, "st" === o || "gs" === o ? (c.strokeStyle = "st" === o ? l.co : l.grd, c.lineWidth = l.wi, c.lineCap = l.lc, c.lineJoin = l.lj, c.miterLimit = l.ml || 0) : c.fillStyle = "fl" === o ? l.co : l.grd, p.ctxOpacity(l.coOp), "st" !== o && "gs" !== o && c.beginPath(), p.ctxTransform(l.preTransforms.finalTransform.props), a = s.length, e = 0; e < a; e += 1) {
                                for ("st" !== o && "gs" !== o || (c.beginPath(), l.da && (c.setLineDash(l.da), c.lineDashOffset = l.do)), r = (n = s[e].trNodes).length, i = 0; i < r; i += 1) "m" === n[i].t ? c.moveTo(n[i].p[0], n[i].p[1]) : "c" === n[i].t ? c.bezierCurveTo(n[i].pts[0], n[i].pts[1], n[i].pts[2], n[i].pts[3], n[i].pts[4], n[i].pts[5]) : c.closePath();
                                "st" !== o && "gs" !== o || (c.stroke(), l.da && c.setLineDash(this.dashResetter))
                            }
                            "st" !== o && "gs" !== o && c.fill(l.r), p.restore()
                        }
                }, CVShapeElement.prototype.renderShape = function(t, e, a, i) {
                    var r, s;
                    for (s = t, r = e.length - 1; r >= 0; r -= 1) "tr" === e[r].ty ? (s = a[r].transform, this.renderShapeTransform(t, s)) : "sh" === e[r].ty || "el" === e[r].ty || "rc" === e[r].ty || "sr" === e[r].ty ? this.renderPath(e[r], a[r]) : "fl" === e[r].ty ? this.renderFill(e[r], a[r], s) : "st" === e[r].ty ? this.renderStroke(e[r], a[r], s) : "gf" === e[r].ty || "gs" === e[r].ty ? this.renderGradientFill(e[r], a[r], s) : "gr" === e[r].ty ? this.renderShape(s, e[r].it, a[r].it) : e[r].ty;
                    i && this.drawLayer()
                }, CVShapeElement.prototype.renderStyledShape = function(t, e) {
                    if (this._isFirstFrame || e._mdf || t.transforms._mdf) {
                        var a, i, r, s = t.trNodes,
                            n = e.paths,
                            o = n._length;
                        s.length = 0;
                        var l = t.transforms.finalTransform;
                        for (r = 0; r < o; r += 1) {
                            var h = n.shapes[r];
                            if (h && h.v) {
                                for (i = h._length, a = 1; a < i; a += 1) 1 === a && s.push({
                                    t: "m",
                                    p: l.applyToPointArray(h.v[0][0], h.v[0][1], 0)
                                }), s.push({
                                    t: "c",
                                    pts: l.applyToTriplePoints(h.o[a - 1], h.i[a], h.v[a])
                                });
                                1 === i && s.push({
                                    t: "m",
                                    p: l.applyToPointArray(h.v[0][0], h.v[0][1], 0)
                                }), h.c && i && (s.push({
                                    t: "c",
                                    pts: l.applyToTriplePoints(h.o[a - 1], h.i[0], h.v[0])
                                }), s.push({
                                    t: "z"
                                }))
                            }
                        }
                        t.trNodes = s
                    }
                }, CVShapeElement.prototype.renderPath = function(t, e) {
                    if (!0 !== t.hd && t._shouldRender) {
                        var a, i = e.styledShapes.length;
                        for (a = 0; a < i; a += 1) this.renderStyledShape(e.styledShapes[a], e.sh)
                    }
                }, CVShapeElement.prototype.renderFill = function(t, e, a) {
                    var i = e.style;
                    (e.c._mdf || this._isFirstFrame) && (i.co = "rgb(" + bmFloor(e.c.v[0]) + "," + bmFloor(e.c.v[1]) + "," + bmFloor(e.c.v[2]) + ")"), (e.o._mdf || a._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * a.opacity)
                }, CVShapeElement.prototype.renderGradientFill = function(t, e, a) {
                    var i, r = e.style;
                    if (!r.grd || e.g._mdf || e.s._mdf || e.e._mdf || 1 !== t.t && (e.h._mdf || e.a._mdf)) {
                        var s, n = this.globalData.canvasContext,
                            o = e.s.v,
                            l = e.e.v;
                        if (1 === t.t) i = n.createLinearGradient(o[0], o[1], l[0], l[1]);
                        else {
                            var h = Math.sqrt(Math.pow(o[0] - l[0], 2) + Math.pow(o[1] - l[1], 2)),
                                p = Math.atan2(l[1] - o[1], l[0] - o[0]),
                                c = e.h.v;
                            c >= 1 ? c = .99 : c <= -1 && (c = -.99);
                            var m = h * c,
                                d = Math.cos(p + e.a.v) * m + o[0],
                                f = Math.sin(p + e.a.v) * m + o[1];
                            i = n.createRadialGradient(d, f, 0, o[0], o[1], h)
                        }
                        var u = t.g.p,
                            g = e.g.c,
                            y = 1;
                        for (s = 0; s < u; s += 1) e.g._hasOpacity && e.g._collapsable && (y = e.g.o[2 * s + 1]), i.addColorStop(g[4 * s] / 100, "rgba(" + g[4 * s + 1] + "," + g[4 * s + 2] + "," + g[4 * s + 3] + "," + y + ")");
                        r.grd = i
                    }
                    r.coOp = e.o.v * a.opacity
                }, CVShapeElement.prototype.renderStroke = function(t, e, a) {
                    var i = e.style,
                        r = e.d;
                    r && (r._mdf || this._isFirstFrame) && (i.da = r.dashArray, i.do = r.dashoffset[0]), (e.c._mdf || this._isFirstFrame) && (i.co = "rgb(" + bmFloor(e.c.v[0]) + "," + bmFloor(e.c.v[1]) + "," + bmFloor(e.c.v[2]) + ")"), (e.o._mdf || a._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * a.opacity), (e.w._mdf || this._isFirstFrame) && (i.wi = e.w.v)
                }, CVShapeElement.prototype.destroy = function() {
                    this.shapesData = null, this.globalData = null, this.canvasContext = null, this.stylesList.length = 0, this.itemsData.length = 0
                }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVSolidElement.prototype.renderInnerContent = function() {
                    var t = this.canvasContext;
                    t.fillStyle = this.data.sc, t.fillRect(0, 0, this.data.sw, this.data.sh)
                }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), CVTextElement.prototype.tHelper = createTag("canvas").getContext("2d"), CVTextElement.prototype.buildNewText = function() {
                    var t = this.textProperty.currentData;
                    this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);
                    var e = !1;
                    t.fc ? (e = !0, this.values.fill = this.buildColor(t.fc)) : this.values.fill = "rgba(0,0,0,0)", this.fill = e;
                    var a = !1;
                    t.sc && (a = !0, this.values.stroke = this.buildColor(t.sc), this.values.sWidth = t.sw);
                    var i, r, s, n, o, l, h, p, c, m, d, f, u = this.globalData.fontManager.getFontByName(t.f),
                        g = t.l,
                        y = this.mHelper;
                    this.stroke = a, this.values.fValue = t.finalSize + "px " + this.globalData.fontManager.getFontByName(t.f).fFamily, r = t.finalText.length;
                    var v = this.data.singleShape,
                        x = .001 * t.tr * t.finalSize,
                        k = 0,
                        b = 0,
                        E = !0,
                        S = 0;
                    for (i = 0; i < r; i += 1) {
                        for (n = (s = this.globalData.fontManager.getCharData(t.finalText[i], u.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily)) && s.data || {}, y.reset(), v && g[i].n && (k = -x, b += t.yOffset, b += E ? 1 : 0, E = !1), c = (h = n.shapes ? n.shapes[0].it : []).length, y.scale(t.finalSize / 100, t.finalSize / 100), v && this.applyTextPropertiesToMatrix(t, y, g[i].line, k, b), d = createSizedArray(c), p = 0; p < c; p += 1) {
                            for (l = h[p].ks.k.i.length, m = h[p].ks.k, f = [], o = 1; o < l; o += 1) 1 === o && f.push(y.applyToX(m.v[0][0], m.v[0][1], 0), y.applyToY(m.v[0][0], m.v[0][1], 0)), f.push(y.applyToX(m.o[o - 1][0], m.o[o - 1][1], 0), y.applyToY(m.o[o - 1][0], m.o[o - 1][1], 0), y.applyToX(m.i[o][0], m.i[o][1], 0), y.applyToY(m.i[o][0], m.i[o][1], 0), y.applyToX(m.v[o][0], m.v[o][1], 0), y.applyToY(m.v[o][0], m.v[o][1], 0));
                            f.push(y.applyToX(m.o[o - 1][0], m.o[o - 1][1], 0), y.applyToY(m.o[o - 1][0], m.o[o - 1][1], 0), y.applyToX(m.i[0][0], m.i[0][1], 0), y.applyToY(m.i[0][0], m.i[0][1], 0), y.applyToX(m.v[0][0], m.v[0][1], 0), y.applyToY(m.v[0][0], m.v[0][1], 0)), d[p] = f
                        }
                        v && (k += g[i].l, k += x), this.textSpans[S] ? this.textSpans[S].elem = d : this.textSpans[S] = {
                            elem: d
                        }, S += 1
                    }
                }, CVTextElement.prototype.renderInnerContent = function() {
                    var t, e, a, i, r, s, n = this.canvasContext;
                    n.font = this.values.fValue, n.lineCap = "butt", n.lineJoin = "miter", n.miterLimit = 4, this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
                    var o, l = this.textAnimator.renderedLetters,
                        h = this.textProperty.currentData.l;
                    e = h.length;
                    var p, c, m = null,
                        d = null,
                        f = null;
                    for (t = 0; t < e; t += 1)
                        if (!h[t].n) {
                            if ((o = l[t]) && (this.globalData.renderer.save(), this.globalData.renderer.ctxTransform(o.p), this.globalData.renderer.ctxOpacity(o.o)), this.fill) {
                                for (o && o.fc ? m !== o.fc && (m = o.fc, n.fillStyle = o.fc) : m !== this.values.fill && (m = this.values.fill, n.fillStyle = this.values.fill), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), a = 0; a < i; a += 1)
                                    for (s = (c = p[a]).length, this.globalData.canvasContext.moveTo(c[0], c[1]), r = 2; r < s; r += 6) this.globalData.canvasContext.bezierCurveTo(c[r], c[r + 1], c[r + 2], c[r + 3], c[r + 4], c[r + 5]);
                                this.globalData.canvasContext.closePath(), this.globalData.canvasContext.fill()
                            }
                            if (this.stroke) {
                                for (o && o.sw ? f !== o.sw && (f = o.sw, n.lineWidth = o.sw) : f !== this.values.sWidth && (f = this.values.sWidth, n.lineWidth = this.values.sWidth), o && o.sc ? d !== o.sc && (d = o.sc, n.strokeStyle = o.sc) : d !== this.values.stroke && (d = this.values.stroke, n.strokeStyle = this.values.stroke), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), a = 0; a < i; a += 1)
                                    for (s = (c = p[a]).length, this.globalData.canvasContext.moveTo(c[0], c[1]), r = 2; r < s; r += 6) this.globalData.canvasContext.bezierCurveTo(c[r], c[r + 1], c[r + 2], c[r + 3], c[r + 4], c[r + 5]);
                                this.globalData.canvasContext.closePath(), this.globalData.canvasContext.stroke()
                            }
                            o && this.globalData.renderer.restore()
                        }
                }, CVEffects.prototype.renderFrame = function() {}, HBaseElement.prototype = {
                    checkBlendMode: function() {},
                    initRendererElement: function() {
                        this.baseElement = createTag(this.data.tg || "div"), this.data.hasMask ? (this.svgElement = createNS("svg"), this.layerElement = createNS("g"), this.maskedElement = this.layerElement, this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement, styleDiv(this.baseElement)
                    },
                    createContainerElements: function() {
                        this.renderableEffectsManager = new CVEffects(this), this.transformedElement = this.baseElement, this.maskedElement = this.layerElement, this.data.ln && this.layerElement.setAttribute("id", this.data.ln), this.data.cl && this.layerElement.setAttribute("class", this.data.cl), 0 !== this.data.bm && this.setBlendMode()
                    },
                    renderElement: function() {
                        var t = this.transformedElement ? this.transformedElement.style : {};
                        if (this.finalTransform._matMdf) {
                            var e = this.finalTransform.mat.toCSS();
                            t.transform = e, t.webkitTransform = e
                        }
                        this.finalTransform._opMdf && (t.opacity = this.finalTransform.mProp.o.v)
                    },
                    renderFrame: function() {
                        this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1))
                    },
                    destroy: function() {
                        this.layerElement = null, this.transformedElement = null, this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), this.maskManager = null)
                    },
                    createRenderableComponents: function() {
                        this.maskManager = new MaskElement(this.data, this, this.globalData)
                    },
                    addEffects: function() {},
                    setMatte: function() {}
                }, HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement, HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy, HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), HSolidElement.prototype.createContent = function() {
                    var t;
                    this.data.hasMask ? ((t = createNS("rect")).setAttribute("width", this.data.sw), t.setAttribute("height", this.data.sh), t.setAttribute("fill", this.data.sc), this.svgElement.setAttribute("width", this.data.sw), this.svgElement.setAttribute("height", this.data.sh)) : ((t = createTag("div")).style.width = this.data.sw + "px", t.style.height = this.data.sh + "px", t.style.backgroundColor = this.data.sc), this.layerElement.appendChild(t)
                }, extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement), HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements, HCompElement.prototype.createContainerElements = function() {
                    this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute("width", this.data.w), this.svgElement.setAttribute("height", this.data.h), this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement
                }, HCompElement.prototype.addTo3dContainer = function(t, e) {
                    for (var a, i = 0; i < e;) this.elements[i] && this.elements[i].getBaseElement && (a = this.elements[i].getBaseElement()), i += 1;
                    a ? this.layerElement.insertBefore(t, a) : this.layerElement.appendChild(t)
                }, extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent, HShapeElement.prototype.createContent = function() {
                    var t;
                    if (this.baseElement.style.fontSize = 0, this.data.hasMask) this.layerElement.appendChild(this.shapesContainer), t = this.svgElement;
                    else {
                        t = createNS("svg");
                        var e = this.comp.data ? this.comp.data : this.globalData.compSize;
                        t.setAttribute("width", e.w), t.setAttribute("height", e.h), t.appendChild(this.shapesContainer), this.layerElement.appendChild(t)
                    }
                    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0), this.filterUniqueShapes(), this.shapeCont = t
                }, HShapeElement.prototype.getTransformedPoint = function(t, e) {
                    var a, i = t.length;
                    for (a = 0; a < i; a += 1) e = t[a].mProps.v.applyToPointArray(e[0], e[1], 0);
                    return e
                }, HShapeElement.prototype.calculateShapeBoundingBox = function(t, e) {
                    var a, i, r, s, n, o = t.sh.v,
                        l = t.transformers,
                        h = o._length;
                    if (!(h <= 1)) {
                        for (a = 0; a < h - 1; a += 1) i = this.getTransformedPoint(l, o.v[a]), r = this.getTransformedPoint(l, o.o[a]), s = this.getTransformedPoint(l, o.i[a + 1]), n = this.getTransformedPoint(l, o.v[a + 1]), this.checkBounds(i, r, s, n, e);
                        o.c && (i = this.getTransformedPoint(l, o.v[a]), r = this.getTransformedPoint(l, o.o[a]), s = this.getTransformedPoint(l, o.i[0]), n = this.getTransformedPoint(l, o.v[0]), this.checkBounds(i, r, s, n, e))
                    }
                }, HShapeElement.prototype.checkBounds = function(t, e, a, i, r) {
                    this.getBoundsOfCurve(t, e, a, i);
                    var s = this.shapeBoundingBox;
                    r.x = bmMin(s.left, r.x), r.xMax = bmMax(s.right, r.xMax), r.y = bmMin(s.top, r.y), r.yMax = bmMax(s.bottom, r.yMax)
                }, HShapeElement.prototype.shapeBoundingBox = {
                    left: 0,
                    right: 0,
                    top: 0,
                    bottom: 0
                }, HShapeElement.prototype.tempBoundingBox = {
                    x: 0,
                    xMax: 0,
                    y: 0,
                    yMax: 0,
                    width: 0,
                    height: 0
                }, HShapeElement.prototype.getBoundsOfCurve = function(t, e, a, i) {
                    for (var r, s, n, o, l, h, p, c = [
                        [t[0], i[0]],
                        [t[1], i[1]]
                    ], m = 0; m < 2; ++m) s = 6 * t[m] - 12 * e[m] + 6 * a[m], r = -3 * t[m] + 9 * e[m] - 9 * a[m] + 3 * i[m], n = 3 * e[m] - 3 * t[m], s |= 0, n |= 0, 0 === (r |= 0) && 0 === s || (0 === r ? (o = -n / s) > 0 && o < 1 && c[m].push(this.calculateF(o, t, e, a, i, m)) : (l = s * s - 4 * n * r) >= 0 && ((h = (-s + bmSqrt(l)) / (2 * r)) > 0 && h < 1 && c[m].push(this.calculateF(h, t, e, a, i, m)), (p = (-s - bmSqrt(l)) / (2 * r)) > 0 && p < 1 && c[m].push(this.calculateF(p, t, e, a, i, m))));
                    this.shapeBoundingBox.left = bmMin.apply(null, c[0]), this.shapeBoundingBox.top = bmMin.apply(null, c[1]), this.shapeBoundingBox.right = bmMax.apply(null, c[0]), this.shapeBoundingBox.bottom = bmMax.apply(null, c[1])
                }, HShapeElement.prototype.calculateF = function(t, e, a, i, r, s) {
                    return bmPow(1 - t, 3) * e[s] + 3 * bmPow(1 - t, 2) * t * a[s] + 3 * (1 - t) * bmPow(t, 2) * i[s] + bmPow(t, 3) * r[s]
                }, HShapeElement.prototype.calculateBoundingBox = function(t, e) {
                    var a, i = t.length;
                    for (a = 0; a < i; a += 1) t[a] && t[a].sh ? this.calculateShapeBoundingBox(t[a], e) : t[a] && t[a].it && this.calculateBoundingBox(t[a].it, e)
                }, HShapeElement.prototype.currentBoxContains = function(t) {
                    return this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height
                }, HShapeElement.prototype.renderInnerContent = function() {
                    if (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) {
                        var t = this.tempBoundingBox,
                            e = 999999;
                        if (t.x = e, t.xMax = -e, t.y = e, t.yMax = -e, this.calculateBoundingBox(this.itemsData, t), t.width = t.xMax < t.x ? 0 : t.xMax - t.x, t.height = t.yMax < t.y ? 0 : t.yMax - t.y, this.currentBoxContains(t)) return;
                        var a = !1;
                        if (this.currentBBox.w !== t.width && (this.currentBBox.w = t.width, this.shapeCont.setAttribute("width", t.width), a = !0), this.currentBBox.h !== t.height && (this.currentBBox.h = t.height, this.shapeCont.setAttribute("height", t.height), a = !0), a || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) {
                            this.currentBBox.w = t.width, this.currentBBox.h = t.height, this.currentBBox.x = t.x, this.currentBBox.y = t.y, this.shapeCont.setAttribute("viewBox", this.currentBBox.x + " " + this.currentBBox.y + " " + this.currentBBox.w + " " + this.currentBBox.h);
                            var i = this.shapeCont.style,
                                r = "translate(" + this.currentBBox.x + "px," + this.currentBBox.y + "px)";
                            i.transform = r, i.webkitTransform = r
                        }
                    }
                }, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), HTextElement.prototype.createContent = function() {
                    if (this.isMasked = this.checkMasks(), this.isMasked) {
                        this.renderType = "svg", this.compW = this.comp.data.w, this.compH = this.comp.data.h, this.svgElement.setAttribute("width", this.compW), this.svgElement.setAttribute("height", this.compH);
                        var t = createNS("g");
                        this.maskedElement.appendChild(t), this.innerElem = t
                    } else this.renderType = "html", this.innerElem = this.layerElement;
                    this.checkParenting()
                }, HTextElement.prototype.buildNewText = function() {
                    var t = this.textProperty.currentData;
                    this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);
                    var e = this.innerElem.style,
                        a = t.fc ? this.buildColor(t.fc) : "rgba(0,0,0,0)";
                    e.fill = a, e.color = a, t.sc && (e.stroke = this.buildColor(t.sc), e.strokeWidth = t.sw + "px");
                    var i, r, s = this.globalData.fontManager.getFontByName(t.f);
                    if (!this.globalData.fontManager.chars)
                        if (e.fontSize = t.finalSize + "px", e.lineHeight = t.finalSize + "px", s.fClass) this.innerElem.className = s.fClass;
                        else {
                            e.fontFamily = s.fFamily;
                            var n = t.fWeight,
                                o = t.fStyle;
                            e.fontStyle = o, e.fontWeight = n
                        }
                    var l, h, p, c = t.l;
                    r = c.length;
                    var m, d = this.mHelper,
                        f = "",
                        u = 0;
                    for (i = 0; i < r; i += 1) {
                        if (this.globalData.fontManager.chars ? (this.textPaths[u] ? l = this.textPaths[u] : ((l = createNS("path")).setAttribute("stroke-linecap", "butt"), l.setAttribute("stroke-linejoin", "round"), l.setAttribute("stroke-miterlimit", "4")), this.isMasked || (this.textSpans[u] ? p = (h = this.textSpans[u]).children[0] : ((h = createTag("div")).style.lineHeight = 0, (p = createNS("svg")).appendChild(l), styleDiv(h)))) : this.isMasked ? l = this.textPaths[u] ? this.textPaths[u] : createNS("text") : this.textSpans[u] ? (h = this.textSpans[u], l = this.textPaths[u]) : (styleDiv(h = createTag("span")), styleDiv(l = createTag("span")), h.appendChild(l)), this.globalData.fontManager.chars) {
                            var g, y = this.globalData.fontManager.getCharData(t.finalText[i], s.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily);
                            if (g = y ? y.data : null, d.reset(), g && g.shapes && (m = g.shapes[0].it, d.scale(t.finalSize / 100, t.finalSize / 100), f = this.createPathShape(d, m), l.setAttribute("d", f)), this.isMasked) this.innerElem.appendChild(l);
                            else {
                                if (this.innerElem.appendChild(h), g && g.shapes) {
                                    document.body.appendChild(p);
                                    var v = p.getBBox();
                                    p.setAttribute("width", v.width + 2), p.setAttribute("height", v.height + 2), p.setAttribute("viewBox", v.x - 1 + " " + (v.y - 1) + " " + (v.width + 2) + " " + (v.height + 2));
                                    var x = p.style,
                                        k = "translate(" + (v.x - 1) + "px," + (v.y - 1) + "px)";
                                    x.transform = k, x.webkitTransform = k, c[i].yOffset = v.y - 1
                                } else p.setAttribute("width", 1), p.setAttribute("height", 1);
                                h.appendChild(p)
                            }
                        } else if (l.textContent = c[i].val, l.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), this.isMasked) this.innerElem.appendChild(l);
                        else {
                            this.innerElem.appendChild(h);
                            var b = l.style,
                                E = "translate3d(0," + -t.finalSize / 1.2 + "px,0)";
                            b.transform = E, b.webkitTransform = E
                        }
                        this.isMasked ? this.textSpans[u] = l : this.textSpans[u] = h, this.textSpans[u].style.display = "block", this.textPaths[u] = l, u += 1
                    }
                    for (; u < this.textSpans.length;) this.textSpans[u].style.display = "none", u += 1
                }, HTextElement.prototype.renderInnerContent = function() {
                    var t;
                    if (this.data.singleShape) {
                        if (!this._isFirstFrame && !this.lettersChangedFlag) return;
                        if (this.isMasked && this.finalTransform._matMdf) {
                            this.svgElement.setAttribute("viewBox", -this.finalTransform.mProp.p.v[0] + " " + -this.finalTransform.mProp.p.v[1] + " " + this.compW + " " + this.compH), t = this.svgElement.style;
                            var e = "translate(" + -this.finalTransform.mProp.p.v[0] + "px," + -this.finalTransform.mProp.p.v[1] + "px)";
                            t.transform = e, t.webkitTransform = e
                        }
                    }
                    if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {
                        var a, i, r, s, n, o = 0,
                            l = this.textAnimator.renderedLetters,
                            h = this.textProperty.currentData.l;
                        for (i = h.length, a = 0; a < i; a += 1) h[a].n ? o += 1 : (s = this.textSpans[a], n = this.textPaths[a], r = l[o], o += 1, r._mdf.m && (this.isMasked ? s.setAttribute("transform", r.m) : (s.style.webkitTransform = r.m, s.style.transform = r.m)), s.style.opacity = r.o, r.sw && r._mdf.sw && n.setAttribute("stroke-width", r.sw), r.sc && r._mdf.sc && n.setAttribute("stroke", r.sc), r.fc && r._mdf.fc && (n.setAttribute("fill", r.fc), n.style.color = r.fc));
                        if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {
                            var p = this.innerElem.getBBox();
                            this.currentBBox.w !== p.width && (this.currentBBox.w = p.width, this.svgElement.setAttribute("width", p.width)), this.currentBBox.h !== p.height && (this.currentBBox.h = p.height, this.svgElement.setAttribute("height", p.height));
                            if (this.currentBBox.w !== p.width + 2 || this.currentBBox.h !== p.height + 2 || this.currentBBox.x !== p.x - 1 || this.currentBBox.y !== p.y - 1) {
                                this.currentBBox.w = p.width + 2, this.currentBBox.h = p.height + 2, this.currentBBox.x = p.x - 1, this.currentBBox.y = p.y - 1, this.svgElement.setAttribute("viewBox", this.currentBBox.x + " " + this.currentBBox.y + " " + this.currentBBox.w + " " + this.currentBBox.h), t = this.svgElement.style;
                                var c = "translate(" + this.currentBBox.x + "px," + this.currentBBox.y + "px)";
                                t.transform = c, t.webkitTransform = c
                            }
                        }
                    }
                }, extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), HImageElement.prototype.createContent = function() {
                    var t = this.globalData.getAssetsPath(this.assetData),
                        e = new Image;
                    this.data.hasMask ? (this.imageElem = createNS("image"), this.imageElem.setAttribute("width", this.assetData.w + "px"), this.imageElem.setAttribute("height", this.assetData.h + "px"), this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", t), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute("width", this.assetData.w), this.baseElement.setAttribute("height", this.assetData.h)) : this.layerElement.appendChild(e), e.crossOrigin = "anonymous", e.src = t, this.data.ln && this.baseElement.setAttribute("id", this.data.ln)
                }, extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), HCameraElement.prototype.setup = function() {
                    var t, e, a, i, r = this.comp.threeDElements.length;
                    for (t = 0; t < r; t += 1)
                        if ("3d" === (e = this.comp.threeDElements[t]).type) {
                            a = e.perspectiveElem.style, i = e.container.style;
                            var s = this.pe.v + "px",
                                n = "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";
                            a.perspective = s, a.webkitPerspective = s, i.transformOrigin = "0px 0px 0px", i.mozTransformOrigin = "0px 0px 0px", i.webkitTransformOrigin = "0px 0px 0px", a.transform = n, a.webkitTransform = n
                        }
                }, HCameraElement.prototype.createElements = function() {}, HCameraElement.prototype.hide = function() {}, HCameraElement.prototype.renderFrame = function() {
                    var t, e, a = this._isFirstFrame;
                    if (this.hierarchy)
                        for (e = this.hierarchy.length, t = 0; t < e; t += 1) a = this.hierarchy[t].finalTransform.mProp._mdf || a;
                    if (a || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {
                        if (this.mat.reset(), this.hierarchy)
                            for (t = e = this.hierarchy.length - 1; t >= 0; t -= 1) {
                                var i = this.hierarchy[t].finalTransform.mProp;
                                this.mat.translate(-i.p.v[0], -i.p.v[1], i.p.v[2]), this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]), this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v), this.mat.scale(1 / i.s.v[0], 1 / i.s.v[1], 1 / i.s.v[2]), this.mat.translate(i.a.v[0], i.a.v[1], i.a.v[2])
                            }
                        if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a) {
                            var r;
                            r = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];
                            var s = Math.sqrt(Math.pow(r[0], 2) + Math.pow(r[1], 2) + Math.pow(r[2], 2)),
                                n = [r[0] / s, r[1] / s, r[2] / s],
                                o = Math.sqrt(n[2] * n[2] + n[0] * n[0]),
                                l = Math.atan2(n[1], o),
                                h = Math.atan2(n[0], -n[2]);
                            this.mat.rotateY(h).rotateX(-l)
                        }
                        this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v);
                        var p = !this._prevMat.equals(this.mat);
                        if ((p || this.pe._mdf) && this.comp.threeDElements) {
                            var c, m, d;
                            for (e = this.comp.threeDElements.length, t = 0; t < e; t += 1)
                                if ("3d" === (c = this.comp.threeDElements[t]).type) {
                                    if (p) {
                                        var f = this.mat.toCSS();
                                        (d = c.container.style).transform = f, d.webkitTransform = f
                                    }
                                    this.pe._mdf && ((m = c.perspectiveElem.style).perspective = this.pe.v + "px", m.webkitPerspective = this.pe.v + "px")
                                }
                            this.mat.clone(this._prevMat)
                        }
                    }
                    this._isFirstFrame = !1
                }, HCameraElement.prototype.prepareFrame = function(t) {
                    this.prepareProperties(t, !0)
                }, HCameraElement.prototype.destroy = function() {}, HCameraElement.prototype.getBaseElement = function() {
                    return null
                }, HEffects.prototype.renderFrame = function() {};
                var animationManager = function() {
                        var t = {},
                            e = [],
                            a = 0,
                            i = 0,
                            r = 0,
                            s = !0,
                            n = !1;

                        function o(t) {
                            for (var a = 0, r = t.target; a < i;) e[a].animation === r && (e.splice(a, 1), a -= 1, i -= 1, r.isPaused || p()), a += 1
                        }

                        function l(t, a) {
                            if (!t) return null;
                            for (var r = 0; r < i;) {
                                if (e[r].elem === t && null !== e[r].elem) return e[r].animation;
                                r += 1
                            }
                            var s = new AnimationItem;
                            return c(s, t), s.setData(t, a), s
                        }

                        function h() {
                            r += 1, f()
                        }

                        function p() {
                            r -= 1
                        }

                        function c(t, a) {
                            t.addEventListener("destroy", o), t.addEventListener("_active", h), t.addEventListener("_idle", p), e.push({
                                elem: a,
                                animation: t
                            }), i += 1
                        }

                        function m(t) {
                            var o, l = t - a;
                            for (o = 0; o < i; o += 1) e[o].animation.advanceTime(l);
                            a = t, r && !n ? window.requestAnimationFrame(m) : s = !0
                        }

                        function d(t) {
                            a = t, window.requestAnimationFrame(m)
                        }

                        function f() {
                            !n && r && s && (window.requestAnimationFrame(d), s = !1)
                        }
                        return t.registerAnimation = l, t.loadAnimation = function(t) {
                            var e = new AnimationItem;
                            return c(e, null), e.setParams(t), e
                        }, t.setSpeed = function(t, a) {
                            var r;
                            for (r = 0; r < i; r += 1) e[r].animation.setSpeed(t, a)
                        }, t.setDirection = function(t, a) {
                            var r;
                            for (r = 0; r < i; r += 1) e[r].animation.setDirection(t, a)
                        }, t.play = function(t) {
                            var a;
                            for (a = 0; a < i; a += 1) e[a].animation.play(t)
                        }, t.pause = function(t) {
                            var a;
                            for (a = 0; a < i; a += 1) e[a].animation.pause(t)
                        }, t.stop = function(t) {
                            var a;
                            for (a = 0; a < i; a += 1) e[a].animation.stop(t)
                        }, t.togglePause = function(t) {
                            var a;
                            for (a = 0; a < i; a += 1) e[a].animation.togglePause(t)
                        }, t.searchAnimations = function(t, e, a) {
                            var i, r = [].concat([].slice.call(document.getElementsByClassName("lottie")), [].slice.call(document.getElementsByClassName("bodymovin"))),
                                s = r.length;
                            for (i = 0; i < s; i += 1) a && r[i].setAttribute("data-bm-type", a), l(r[i], t);
                            if (e && 0 === s) {
                                a || (a = "svg");
                                var n = document.getElementsByTagName("body")[0];
                                n.innerText = "";
                                var o = createTag("div");
                                o.style.width = "100%", o.style.height = "100%", o.setAttribute("data-bm-type", a), n.appendChild(o), l(o, t)
                            }
                        }, t.resize = function() {
                            var t;
                            for (t = 0; t < i; t += 1) e[t].animation.resize()
                        }, t.goToAndStop = function(t, a, r) {
                            var s;
                            for (s = 0; s < i; s += 1) e[s].animation.goToAndStop(t, a, r)
                        }, t.destroy = function(t) {
                            var a;
                            for (a = i - 1; a >= 0; a -= 1) e[a].animation.destroy(t)
                        }, t.freeze = function() {
                            n = !0
                        }, t.unfreeze = function() {
                            n = !1, f()
                        }, t.setVolume = function(t, a) {
                            var r;
                            for (r = 0; r < i; r += 1) e[r].animation.setVolume(t, a)
                        }, t.mute = function(t) {
                            var a;
                            for (a = 0; a < i; a += 1) e[a].animation.mute(t)
                        }, t.unmute = function(t) {
                            var a;
                            for (a = 0; a < i; a += 1) e[a].animation.unmute(t)
                        }, t.getRegisteredAnimations = function() {
                            var t, a = e.length,
                                i = [];
                            for (t = 0; t < a; t += 1) i.push(e[t].animation);
                            return i
                        }, t
                    }(),
                    AnimationItem = function() {
                        this._cbs = [], this.name = "", this.path = "", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = createElementID(), this.assetsPath = "", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = subframeEnabled, this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = ProjectInterface(), this.imagePreloader = new ImagePreloader, this.audioController = audioControllerFactory(), this.markers = []
                    };
                extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function(t) {
                    (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);
                    var e = "svg";
                    switch (t.animType ? e = t.animType : t.renderer && (e = t.renderer), e) {
                        case "canvas":
                            this.renderer = new CanvasRenderer(this, t.rendererSettings);
                            break;
                        case "svg":
                            this.renderer = new SVGRenderer(this, t.rendererSettings);
                            break;
                        default:
                            this.renderer = new HybridRenderer(this, t.rendererSettings)
                    }
                    this.imagePreloader.setCacheType(e, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e, "" === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ? this.loop = !0 : !1 === t.loop ? this.loop = !1 : this.loop = parseInt(t.loop, 10), this.autoplay = !("autoplay" in t) || t.autoplay, this.name = t.name ? t.name : "", this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t, "autoloadSegments") || t.autoloadSegments, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.audioFactory && this.audioController.setAudioFactory(t.audioFactory), t.animationData ? this.configAnimation(t.animationData) : t.path && (-1 !== t.path.lastIndexOf("\\") ? this.path = t.path.substr(0, t.path.lastIndexOf("\\") + 1) : this.path = t.path.substr(0, t.path.lastIndexOf("/") + 1), this.fileName = t.path.substr(t.path.lastIndexOf("/") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(".json")), assetLoader.load(t.path, this.configAnimation.bind(this), function() {
                        this.trigger("data_failed")
                    }.bind(this)))
                }, AnimationItem.prototype.setData = function(t, e) {
                    e && "object" != typeof e && (e = JSON.parse(e));
                    var a = {
                            wrapper: t,
                            animationData: e
                        },
                        i = t.attributes;
                    a.path = i.getNamedItem("data-animation-path") ? i.getNamedItem("data-animation-path").value : i.getNamedItem("data-bm-path") ? i.getNamedItem("data-bm-path").value : i.getNamedItem("bm-path") ? i.getNamedItem("bm-path").value : "", a.animType = i.getNamedItem("data-anim-type") ? i.getNamedItem("data-anim-type").value : i.getNamedItem("data-bm-type") ? i.getNamedItem("data-bm-type").value : i.getNamedItem("bm-type") ? i.getNamedItem("bm-type").value : i.getNamedItem("data-bm-renderer") ? i.getNamedItem("data-bm-renderer").value : i.getNamedItem("bm-renderer") ? i.getNamedItem("bm-renderer").value : "canvas";
                    var r = i.getNamedItem("data-anim-loop") ? i.getNamedItem("data-anim-loop").value : i.getNamedItem("data-bm-loop") ? i.getNamedItem("data-bm-loop").value : i.getNamedItem("bm-loop") ? i.getNamedItem("bm-loop").value : "";
                    "false" === r ? a.loop = !1 : "true" === r ? a.loop = !0 : "" !== r && (a.loop = parseInt(r, 10));
                    var s = i.getNamedItem("data-anim-autoplay") ? i.getNamedItem("data-anim-autoplay").value : i.getNamedItem("data-bm-autoplay") ? i.getNamedItem("data-bm-autoplay").value : !i.getNamedItem("bm-autoplay") || i.getNamedItem("bm-autoplay").value;
                    a.autoplay = "false" !== s, a.name = i.getNamedItem("data-name") ? i.getNamedItem("data-name").value : i.getNamedItem("data-bm-name") ? i.getNamedItem("data-bm-name").value : i.getNamedItem("bm-name") ? i.getNamedItem("bm-name").value : "", "false" === (i.getNamedItem("data-anim-prerender") ? i.getNamedItem("data-anim-prerender").value : i.getNamedItem("data-bm-prerender") ? i.getNamedItem("data-bm-prerender").value : i.getNamedItem("bm-prerender") ? i.getNamedItem("bm-prerender").value : "") && (a.prerender = !1), this.setParams(a)
                }, AnimationItem.prototype.includeLayers = function(t) {
                    t.op > this.animationData.op && (this.animationData.op = t.op, this.totalFrames = Math.floor(t.op - this.animationData.ip));
                    var e, a, i = this.animationData.layers,
                        r = i.length,
                        s = t.layers,
                        n = s.length;
                    for (a = 0; a < n; a += 1)
                        for (e = 0; e < r;) {
                            if (i[e].id === s[a].id) {
                                i[e] = s[a];
                                break
                            }
                            e += 1
                        }
                    if ((t.chars || t.fonts) && (this.renderer.globalData.fontManager.addChars(t.chars), this.renderer.globalData.fontManager.addFonts(t.fonts, this.renderer.globalData.defs)), t.assets)
                        for (r = t.assets.length, e = 0; e < r; e += 1) this.animationData.assets.push(t.assets[e]);
                    this.animationData.__complete = !1, dataManager.completeData(this.animationData, this.renderer.globalData.fontManager), this.renderer.includeLayers(t.layers), expressionsPlugin && expressionsPlugin.initExpressions(this), this.loadNextSegment()
                }, AnimationItem.prototype.loadNextSegment = function() {
                    var t = this.animationData.segments;
                    if (!t || 0 === t.length || !this.autoloadSegments) return this.trigger("data_ready"), void(this.timeCompleted = this.totalFrames);
                    var e = t.shift();
                    this.timeCompleted = e.time * this.frameRate;
                    var a = this.path + this.fileName + "_" + this.segmentPos + ".json";
                    this.segmentPos += 1, assetLoader.load(a, this.includeLayers.bind(this), function() {
                        this.trigger("data_failed")
                    }.bind(this))
                }, AnimationItem.prototype.loadSegments = function() {
                    this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment()
                }, AnimationItem.prototype.imagesLoaded = function() {
                    this.trigger("loaded_images"), this.checkLoaded()
                }, AnimationItem.prototype.preloadImages = function() {
                    this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this))
                }, AnimationItem.prototype.configAnimation = function(t) {
                    if (this.renderer) try {
                        this.animationData = t, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(t), t.assets || (t.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(t.assets), this.markers = markerParser(t.markers || []), this.trigger("config_ready"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause()
                    } catch (t) {
                        this.triggerConfigError(t)
                    }
                }, AnimationItem.prototype.waitForFontsLoaded = function() {
                    this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20))
                }, AnimationItem.prototype.checkLoaded = function() {
                    !this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || "canvas" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages() && (this.isLoaded = !0, dataManager.completeData(this.animationData, this.renderer.globalData.fontManager), expressionsPlugin && expressionsPlugin.initExpressions(this), this.renderer.initItems(), setTimeout(function() {
                        this.trigger("DOMLoaded")
                    }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play())
                }, AnimationItem.prototype.resize = function() {
                    this.renderer.updateContainerSize()
                }, AnimationItem.prototype.setSubframe = function(t) {
                    this.isSubframeEnabled = !!t
                }, AnimationItem.prototype.gotoFrame = function() {
                    this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger("enterFrame"), this.renderFrame()
                }, AnimationItem.prototype.renderFrame = function() {
                    if (!1 !== this.isLoaded && this.renderer) try {
                        this.renderer.renderFrame(this.currentFrame + this.firstFrame)
                    } catch (t) {
                        this.triggerRenderFrameError(t)
                    }
                }, AnimationItem.prototype.play = function(t) {
                    t && this.name !== t || !0 === this.isPaused && (this.isPaused = !1, this.audioController.resume(), this._idle && (this._idle = !1, this.trigger("_active")))
                }, AnimationItem.prototype.pause = function(t) {
                    t && this.name !== t || !1 === this.isPaused && (this.isPaused = !0, this._idle = !0, this.trigger("_idle"), this.audioController.pause())
                }, AnimationItem.prototype.togglePause = function(t) {
                    t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause())
                }, AnimationItem.prototype.stop = function(t) {
                    t && this.name !== t || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0))
                }, AnimationItem.prototype.getMarkerData = function(t) {
                    for (var e, a = 0; a < this.markers.length; a += 1)
                        if ((e = this.markers[a]).payload && e.payload.name === t) return e;
                    return null
                }, AnimationItem.prototype.goToAndStop = function(t, e, a) {
                    if (!a || this.name === a) {
                        var i = Number(t);
                        if (isNaN(i)) {
                            var r = this.getMarkerData(t);
                            r && this.goToAndStop(r.time, !0)
                        } else e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier);
                        this.pause()
                    }
                }, AnimationItem.prototype.goToAndPlay = function(t, e, a) {
                    if (!a || this.name === a) {
                        var i = Number(t);
                        if (isNaN(i)) {
                            var r = this.getMarkerData(t);
                            r && (r.duration ? this.playSegments([r.time, r.time + r.duration], !0) : this.goToAndStop(r.time, !0))
                        } else this.goToAndStop(i, e, a);
                        this.play()
                    }
                }, AnimationItem.prototype.advanceTime = function(t) {
                    if (!0 !== this.isPaused && !1 !== this.isLoaded) {
                        var e = this.currentRawFrame + t * this.frameModifier,
                            a = !1;
                        e >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e >= this.totalFrames ? (this.playCount += 1, this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue(e % this.totalFrames), this._completedLoop = !0, this.trigger("loopComplete"))) : this.setCurrentRawFrameValue(e) : this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (a = !0, e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (a = !0, e = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger("loopComplete") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e), a && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger("complete"))
                    }
                }, AnimationItem.prototype.adjustSegment = function(t, e) {
                    this.playCount = 0, t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = t[0] - t[1], this.timeCompleted = this.totalFrames, this.firstFrame = t[1], this.setCurrentRawFrameValue(this.totalFrames - .001 - e)) : t[1] > t[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = t[1] - t[0], this.timeCompleted = this.totalFrames, this.firstFrame = t[0], this.setCurrentRawFrameValue(.001 + e)), this.trigger("segmentStart")
                }, AnimationItem.prototype.setSegment = function(t, e) {
                    var a = -1;
                    this.isPaused && (this.currentRawFrame + this.firstFrame < t ? a = t : this.currentRawFrame + this.firstFrame > e && (a = e - t)), this.firstFrame = t, this.totalFrames = e - t, this.timeCompleted = this.totalFrames, -1 !== a && this.goToAndStop(a, !0)
                }, AnimationItem.prototype.playSegments = function(t, e) {
                    if (e && (this.segments.length = 0), "object" == typeof t[0]) {
                        var a, i = t.length;
                        for (a = 0; a < i; a += 1) this.segments.push(t[a])
                    } else this.segments.push(t);
                    this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play()
                }, AnimationItem.prototype.resetSegments = function(t) {
                    this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t && this.checkSegments(0)
                }, AnimationItem.prototype.checkSegments = function(t) {
                    return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t), !0)
                }, AnimationItem.prototype.destroy = function(t) {
                    t && this.name !== t || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger("destroy"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.renderer = null, this.imagePreloader = null, this.projectInterface = null)
                }, AnimationItem.prototype.setCurrentRawFrameValue = function(t) {
                    this.currentRawFrame = t, this.gotoFrame()
                }, AnimationItem.prototype.setSpeed = function(t) {
                    this.playSpeed = t, this.updaFrameModifier()
                }, AnimationItem.prototype.setDirection = function(t) {
                    this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier()
                }, AnimationItem.prototype.setVolume = function(t, e) {
                    e && this.name !== e || this.audioController.setVolume(t)
                }, AnimationItem.prototype.getVolume = function() {
                    return this.audioController.getVolume()
                }, AnimationItem.prototype.mute = function(t) {
                    t && this.name !== t || this.audioController.mute()
                }, AnimationItem.prototype.unmute = function(t) {
                    t && this.name !== t || this.audioController.unmute()
                }, AnimationItem.prototype.updaFrameModifier = function() {
                    this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection)
                }, AnimationItem.prototype.getPath = function() {
                    return this.path
                }, AnimationItem.prototype.getAssetsPath = function(t) {
                    var e = "";
                    if (t.e) e = t.p;
                    else if (this.assetsPath) {
                        var a = t.p; - 1 !== a.indexOf("images/") && (a = a.split("/")[1]), e = this.assetsPath + a
                    } else e = this.path, e += t.u ? t.u : "", e += t.p;
                    return e
                }, AnimationItem.prototype.getAssetData = function(t) {
                    for (var e = 0, a = this.assets.length; e < a;) {
                        if (t === this.assets[e].id) return this.assets[e];
                        e += 1
                    }
                    return null
                }, AnimationItem.prototype.hide = function() {
                    this.renderer.hide()
                }, AnimationItem.prototype.show = function() {
                    this.renderer.show()
                }, AnimationItem.prototype.getDuration = function(t) {
                    return t ? this.totalFrames : this.totalFrames / this.frameRate
                }, AnimationItem.prototype.trigger = function(t) {
                    if (this._cbs && this._cbs[t]) switch (t) {
                        case "enterFrame":
                            this.triggerEvent(t, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameModifier));
                            break;
                        case "loopComplete":
                            this.triggerEvent(t, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult));
                            break;
                        case "complete":
                            this.triggerEvent(t, new BMCompleteEvent(t, this.frameMult));
                            break;
                        case "segmentStart":
                            this.triggerEvent(t, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames));
                            break;
                        case "destroy":
                            this.triggerEvent(t, new BMDestroyEvent(t, this));
                            break;
                        default:
                            this.triggerEvent(t)
                    }
                    "enterFrame" === t && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameMult)), "loopComplete" === t && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult)), "complete" === t && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t, this.frameMult)), "segmentStart" === t && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames)), "destroy" === t && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t, this))
                }, AnimationItem.prototype.triggerRenderFrameError = function(t) {
                    var e = new BMRenderFrameErrorEvent(t, this.currentFrame);
                    this.triggerEvent("error", e), this.onError && this.onError.call(this, e)
                }, AnimationItem.prototype.triggerConfigError = function(t) {
                    var e = new BMConfigErrorEvent(t, this.currentFrame);
                    this.triggerEvent("error", e), this.onError && this.onError.call(this, e)
                };
                var Expressions = function() {
                    var t = {};
                    return t.initExpressions = function(t) {
                        var e = 0,
                            a = [];
                        t.renderer.compInterface = CompExpressionInterface(t.renderer), t.renderer.globalData.projectInterface.registerComposition(t.renderer), t.renderer.globalData.pushExpression = function() {
                            e += 1
                        }, t.renderer.globalData.popExpression = function() {
                            0 === (e -= 1) && function() {
                                var t, e = a.length;
                                for (t = 0; t < e; t += 1) a[t].release();
                                a.length = 0
                            }()
                        }, t.renderer.globalData.registerExpressionProperty = function(t) {
                            -1 === a.indexOf(t) && a.push(t)
                        }
                    }, t
                }();
                expressionsPlugin = Expressions;
                var ExpressionManager = function() {
                        var ob = {},
                            Math = BMMath,
                            window = null,
                            document = null,
                            XMLHttpRequest = null,
                            fetch = null;

                        function $bm_isInstanceOfArray(t) {
                            return t.constructor === Array || t.constructor === Float32Array
                        }

                        function isNumerable(t, e) {
                            return "number" === t || "boolean" === t || "string" === t || e instanceof Number
                        }

                        function $bm_neg(t) {
                            var e = typeof t;
                            if ("number" === e || "boolean" === e || t instanceof Number) return -t;
                            if ($bm_isInstanceOfArray(t)) {
                                var a, i = t.length,
                                    r = [];
                                for (a = 0; a < i; a += 1) r[a] = -t[a];
                                return r
                            }
                            return t.propType ? t.v : -t
                        }
                        var easeInBez = BezierFactory.getBezierEasing(.333, 0, .833, .833, "easeIn").get,
                            easeOutBez = BezierFactory.getBezierEasing(.167, .167, .667, 1, "easeOut").get,
                            easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, "easeInOut").get;

                        function sum(t, e) {
                            var a = typeof t,
                                i = typeof e;
                            if ("string" === a || "string" === i) return t + e;
                            if (isNumerable(a, t) && isNumerable(i, e)) return t + e;
                            if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] += e, t;
                            if (isNumerable(a, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t + e[0], e;
                            if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {
                                for (var r = 0, s = t.length, n = e.length, o = []; r < s || r < n;)("number" == typeof t[r] || t[r] instanceof Number) && ("number" == typeof e[r] || e[r] instanceof Number) ? o[r] = t[r] + e[r] : o[r] = void 0 === e[r] ? t[r] : t[r] || e[r], r += 1;
                                return o
                            }
                            return 0
                        }
                        var add = sum;

                        function sub(t, e) {
                            var a = typeof t,
                                i = typeof e;
                            if (isNumerable(a, t) && isNumerable(i, e)) return "string" === a && (t = parseInt(t, 10)), "string" === i && (e = parseInt(e, 10)), t - e;
                            if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] -= e, t;
                            if (isNumerable(a, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t - e[0], e;
                            if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {
                                for (var r = 0, s = t.length, n = e.length, o = []; r < s || r < n;)("number" == typeof t[r] || t[r] instanceof Number) && ("number" == typeof e[r] || e[r] instanceof Number) ? o[r] = t[r] - e[r] : o[r] = void 0 === e[r] ? t[r] : t[r] || e[r], r += 1;
                                return o
                            }
                            return 0
                        }

                        function mul(t, e) {
                            var a, i, r, s = typeof t,
                                n = typeof e;
                            if (isNumerable(s, t) && isNumerable(n, e)) return t * e;
                            if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {
                                for (r = t.length, a = createTypedArray("float32", r), i = 0; i < r; i += 1) a[i] = t[i] * e;
                                return a
                            }
                            if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {
                                for (r = e.length, a = createTypedArray("float32", r), i = 0; i < r; i += 1) a[i] = t * e[i];
                                return a
                            }
                            return 0
                        }

                        function div(t, e) {
                            var a, i, r, s = typeof t,
                                n = typeof e;
                            if (isNumerable(s, t) && isNumerable(n, e)) return t / e;
                            if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {
                                for (r = t.length, a = createTypedArray("float32", r), i = 0; i < r; i += 1) a[i] = t[i] / e;
                                return a
                            }
                            if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {
                                for (r = e.length, a = createTypedArray("float32", r), i = 0; i < r; i += 1) a[i] = t / e[i];
                                return a
                            }
                            return 0
                        }

                        function mod(t, e) {
                            return "string" == typeof t && (t = parseInt(t, 10)), "string" == typeof e && (e = parseInt(e, 10)), t % e
                        }
                        var $bm_sum = sum,
                            $bm_sub = sub,
                            $bm_mul = mul,
                            $bm_div = div,
                            $bm_mod = mod;

                        function clamp(t, e, a) {
                            if (e > a) {
                                var i = a;
                                a = e, e = i
                            }
                            return Math.min(Math.max(t, e), a)
                        }

                        function radiansToDegrees(t) {
                            return t / degToRads
                        }
                        var radians_to_degrees = radiansToDegrees;

                        function degreesToRadians(t) {
                            return t * degToRads
                        }
                        var degrees_to_radians = radiansToDegrees,
                            helperLengthArray = [0, 0, 0, 0, 0, 0];

                        function length(t, e) {
                            if ("number" == typeof t || t instanceof Number) return e = e || 0, Math.abs(t - e);
                            var a;
                            e || (e = helperLengthArray);
                            var i = Math.min(t.length, e.length),
                                r = 0;
                            for (a = 0; a < i; a += 1) r += Math.pow(e[a] - t[a], 2);
                            return Math.sqrt(r)
                        }

                        function normalize(t) {
                            return div(t, length(t))
                        }

                        function rgbToHsl(t) {
                            var e, a, i = t[0],
                                r = t[1],
                                s = t[2],
                                n = Math.max(i, r, s),
                                o = Math.min(i, r, s),
                                l = (n + o) / 2;
                            if (n === o) e = 0, a = 0;
                            else {
                                var h = n - o;
                                switch (a = l > .5 ? h / (2 - n - o) : h / (n + o), n) {
                                    case i:
                                        e = (r - s) / h + (r < s ? 6 : 0);
                                        break;
                                    case r:
                                        e = (s - i) / h + 2;
                                        break;
                                    case s:
                                        e = (i - r) / h + 4
                                }
                                e /= 6
                            }
                            return [e, a, l, t[3]]
                        }

                        function hue2rgb(t, e, a) {
                            return a < 0 && (a += 1), a > 1 && (a -= 1), a < 1 / 6 ? t + 6 * (e - t) * a : a < .5 ? e : a < 2 / 3 ? t + (e - t) * (2 / 3 - a) * 6 : t
                        }

                        function hslToRgb(t) {
                            var e, a, i, r = t[0],
                                s = t[1],
                                n = t[2];
                            if (0 === s) e = n, i = n, a = n;
                            else {
                                var o = n < .5 ? n * (1 + s) : n + s - n * s,
                                    l = 2 * n - o;
                                e = hue2rgb(l, o, r + 1 / 3), a = hue2rgb(l, o, r), i = hue2rgb(l, o, r - 1 / 3)
                            }
                            return [e, a, i, t[3]]
                        }

                        function linear(t, e, a, i, r) {
                            if (void 0 !== i && void 0 !== r || (i = e, r = a, e = 0, a = 1), a < e) {
                                var s = a;
                                a = e, e = s
                            }
                            if (t <= e) return i;
                            if (t >= a) return r;
                            var n, o = a === e ? 0 : (t - e) / (a - e);
                            if (!i.length) return i + (r - i) * o;
                            var l = i.length,
                                h = createTypedArray("float32", l);
                            for (n = 0; n < l; n += 1) h[n] = i[n] + (r[n] - i[n]) * o;
                            return h
                        }

                        function random(t, e) {
                            if (void 0 === e && (void 0 === t ? (t = 0, e = 1) : (e = t, t = void 0)), e.length) {
                                var a, i = e.length;
                                t || (t = createTypedArray("float32", i));
                                var r = createTypedArray("float32", i),
                                    s = BMMath.random();
                                for (a = 0; a < i; a += 1) r[a] = t[a] + s * (e[a] - t[a]);
                                return r
                            }
                            return void 0 === t && (t = 0), t + BMMath.random() * (e - t)
                        }

                        function createPath(t, e, a, i) {
                            var r, s = t.length,
                                n = shapePool.newElement();
                            n.setPathData(!!i, s);
                            var o, l, h = [0, 0];
                            for (r = 0; r < s; r += 1) o = e && e[r] ? e[r] : h, l = a && a[r] ? a[r] : h, n.setTripleAt(t[r][0], t[r][1], l[0] + t[r][0], l[1] + t[r][1], o[0] + t[r][0], o[1] + t[r][1], r, !0);
                            return n
                        }

                        function initiateExpression(elem, data, property) {
                            var val = data.x,
                                needsVelocity = /velocity(?![\w\d])/.test(val),
                                _needsRandom = -1 !== val.indexOf("random"),
                                elemType = elem.data.ty,
                                transform, $bm_transform, content, effect, thisProperty = property;
                            thisProperty.valueAtTime = thisProperty.getValueAtTime, Object.defineProperty(thisProperty, "value", {
                                get: function() {
                                    return thisProperty.v
                                }
                            }), elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate, elem.comp.displayStartTime = 0;
                            var inPoint = elem.data.ip / elem.comp.globalData.frameRate,
                                outPoint = elem.data.op / elem.comp.globalData.frameRate,
                                width = elem.data.sw ? elem.data.sw : 0,
                                height = elem.data.sh ? elem.data.sh : 0,
                                name = elem.data.nm,
                                loopIn, loop_in, loopOut, loop_out, smooth, toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime, scoped_bm_rt, expression_function = eval("[function _expression_function(){" + val + ";scoped_bm_rt=$bm_rt}]")[0],
                                numKeys = property.kf ? data.k.length : 0,
                                active = !this.data || !0 !== this.data.hd,
                                wiggle = function(t, e) {
                                    var a, i, r = this.pv.length ? this.pv.length : 1,
                                        s = createTypedArray("float32", r);
                                    var n = Math.floor(5 * time);
                                    for (a = 0, i = 0; a < n;) {
                                        for (i = 0; i < r; i += 1) s[i] += -e + 2 * e * BMMath.random();
                                        a += 1
                                    }
                                    var o = 5 * time,
                                        l = o - Math.floor(o),
                                        h = createTypedArray("float32", r);
                                    if (r > 1) {
                                        for (i = 0; i < r; i += 1) h[i] = this.pv[i] + s[i] + (-e + 2 * e * BMMath.random()) * l;
                                        return h
                                    }
                                    return this.pv + s[0] + (-e + 2 * e * BMMath.random()) * l
                                }.bind(this);

                            function loopInDuration(t, e) {
                                return loopIn(t, e, !0)
                            }

                            function loopOutDuration(t, e) {
                                return loopOut(t, e, !0)
                            }
                            thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty), loop_in = loopIn), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty), loop_out = loopOut), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));
                            var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),
                                time, velocity, value, text, textIndex, textTotal, selectorValue;

                            function lookAt(t, e) {
                                var a = [e[0] - t[0], e[1] - t[1], e[2] - t[2]],
                                    i = Math.atan2(a[0], Math.sqrt(a[1] * a[1] + a[2] * a[2])) / degToRads;
                                return [-Math.atan2(a[1], a[2]) / degToRads, i, 0]
                            }

                            function easeOut(t, e, a, i, r) {
                                return applyEase(easeOutBez, t, e, a, i, r)
                            }

                            function easeIn(t, e, a, i, r) {
                                return applyEase(easeInBez, t, e, a, i, r)
                            }

                            function ease(t, e, a, i, r) {
                                return applyEase(easeInOutBez, t, e, a, i, r)
                            }

                            function applyEase(t, e, a, i, r, s) {
                                void 0 === r ? (r = a, s = i) : e = (e - a) / (i - a), e > 1 ? e = 1 : e < 0 && (e = 0);
                                var n = t(e);
                                if ($bm_isInstanceOfArray(r)) {
                                    var o, l = r.length,
                                        h = createTypedArray("float32", l);
                                    for (o = 0; o < l; o += 1) h[o] = (s[o] - r[o]) * n + r[o];
                                    return h
                                }
                                return (s - r) * n + r
                            }

                            function nearestKey(t) {
                                var e, a, i, r = data.k.length;
                                if (data.k.length && "number" != typeof data.k[0])
                                    if (a = -1, (t *= elem.comp.globalData.frameRate) < data.k[0].t) a = 1, i = data.k[0].t;
                                    else {
                                        for (e = 0; e < r - 1; e += 1) {
                                            if (t === data.k[e].t) {
                                                a = e + 1, i = data.k[e].t;
                                                break
                                            }
                                            if (t > data.k[e].t && t < data.k[e + 1].t) {
                                                t - data.k[e].t > data.k[e + 1].t - t ? (a = e + 2, i = data.k[e + 1].t) : (a = e + 1, i = data.k[e].t);
                                                break
                                            }
                                        } - 1 === a && (a = e + 1, i = data.k[e].t)
                                    } else a = 0, i = 0;
                                var s = {};
                                return s.index = a, s.time = i / elem.comp.globalData.frameRate, s
                            }

                            function key(t) {
                                var e, a, i;
                                if (!data.k.length || "number" == typeof data.k[0]) throw new Error("The property has no keyframe at index " + t);
                                t -= 1, e = {
                                    time: data.k[t].t / elem.comp.globalData.frameRate,
                                    value: []
                                };
                                var r = Object.prototype.hasOwnProperty.call(data.k[t], "s") ? data.k[t].s : data.k[t - 1].e;
                                for (i = r.length, a = 0; a < i; a += 1) e[a] = r[a], e.value[a] = r[a];
                                return e
                            }

                            function framesToTime(t, e) {
                                return e || (e = elem.comp.globalData.frameRate), t / e
                            }

                            function timeToFrames(t, e) {
                                return t || 0 === t || (t = time), e || (e = elem.comp.globalData.frameRate), t * e
                            }

                            function seedRandom(t) {
                                BMMath.seedrandom(randSeed + t)
                            }

                            function sourceRectAtTime() {
                                return elem.sourceRectAtTime()
                            }

                            function substring(t, e) {
                                return "string" == typeof value ? void 0 === e ? value.substring(t) : value.substring(t, e) : ""
                            }

                            function substr(t, e) {
                                return "string" == typeof value ? void 0 === e ? value.substr(t) : value.substr(t, e) : ""
                            }

                            function posterizeTime(t) {
                                time = 0 === t ? 0 : Math.floor(time * t) / t, value = valueAtTime(time)
                            }
                            var index = elem.data.ind,
                                hasParent = !(!elem.hierarchy || !elem.hierarchy.length),
                                parent, randSeed = Math.floor(1e6 * Math.random()),
                                globalData = elem.globalData;

                            function executeExpression(t) {
                                return value = t, _needsRandom && seedRandom(randSeed), this.frameExpressionId === elem.globalData.frameId && "textSelector" !== this.propType ? value : ("textSelector" === this.propType && (textIndex = this.textIndex, textTotal = this.textTotal, selectorValue = this.selectorValue), thisLayer || (text = elem.layerInterface.text, thisLayer = elem.layerInterface, thisComp = elem.comp.compInterface, toWorld = thisLayer.toWorld.bind(thisLayer), fromWorld = thisLayer.fromWorld.bind(thisLayer), fromComp = thisLayer.fromComp.bind(thisLayer), toComp = thisLayer.toComp.bind(thisLayer), mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null, fromCompToSurface = fromComp), transform || (transform = elem.layerInterface("ADBE Transform Group"), $bm_transform = transform, transform && (anchorPoint = transform.anchorPoint)), 4 !== elemType || content || (content = thisLayer("ADBE Root Vectors Group")), effect || (effect = thisLayer(4)), (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface), time = this.comp.renderedFrame / this.comp.globalData.frameRate, needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, "shape" === scoped_bm_rt.propType && (scoped_bm_rt = scoped_bm_rt.v), scoped_bm_rt)
                            }
                            return executeExpression
                        }
                        return ob.initiateExpression = initiateExpression, ob
                    }(),
                    expressionHelpers = {
                        searchExpressions: function(t, e, a) {
                            e.x && (a.k = !0, a.x = !0, a.initiateExpression = ExpressionManager.initiateExpression, a.effectsSequence.push(a.initiateExpression(t, e, a).bind(a)))
                        },
                        getSpeedAtTime: function(t) {
                            var e = this.getValueAtTime(t),
                                a = this.getValueAtTime(t + -.01),
                                i = 0;
                            if (e.length) {
                                var r;
                                for (r = 0; r < e.length; r += 1) i += Math.pow(a[r] - e[r], 2);
                                i = 100 * Math.sqrt(i)
                            } else i = 0;
                            return i
                        },
                        getVelocityAtTime: function(t) {
                            if (void 0 !== this.vel) return this.vel;
                            var e, a, i = this.getValueAtTime(t),
                                r = this.getValueAtTime(t + -.001);
                            if (i.length)
                                for (e = createTypedArray("float32", i.length), a = 0; a < i.length; a += 1) e[a] = (r[a] - i[a]) / -.001;
                            else e = (r - i) / -.001;
                            return e
                        },
                        getValueAtTime: function(t) {
                            return t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t ? this._cachingAtTime.lastIndex : 0, this._cachingAtTime.value = this.interpolateValue(t, this._cachingAtTime), this._cachingAtTime.lastFrame = t), this._cachingAtTime.value
                        },
                        getStaticValueAtTime: function() {
                            return this.pv
                        },
                        setGroupProperty: function(t) {
                            this.propertyGroup = t
                        }
                    };
                ! function() {
                    function t(t, e, a) {
                        if (!this.k || !this.keyframes) return this.pv;
                        t = t ? t.toLowerCase() : "";
                        var i, r, s, n, o, l = this.comp.renderedFrame,
                            h = this.keyframes,
                            p = h[h.length - 1].t;
                        if (l <= p) return this.pv;
                        if (a ? r = p - (i = e ? Math.abs(p - this.elem.comp.globalData.frameRate * e) : Math.max(0, p - this.elem.data.ip)) : ((!e || e > h.length - 1) && (e = h.length - 1), i = p - (r = h[h.length - 1 - e].t)), "pingpong" === t) {
                            if (Math.floor((l - r) / i) % 2 != 0) return this.getValueAtTime((i - (l - r) % i + r) / this.comp.globalData.frameRate, 0)
                        } else {
                            if ("offset" === t) {
                                var c = this.getValueAtTime(r / this.comp.globalData.frameRate, 0),
                                    m = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),
                                    d = this.getValueAtTime(((l - r) % i + r) / this.comp.globalData.frameRate, 0),
                                    f = Math.floor((l - r) / i);
                                if (this.pv.length) {
                                    for (n = (o = new Array(c.length)).length, s = 0; s < n; s += 1) o[s] = (m[s] - c[s]) * f + d[s];
                                    return o
                                }
                                return (m - c) * f + d
                            }
                            if ("continue" === t) {
                                var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),
                                    g = this.getValueAtTime((p - .001) / this.comp.globalData.frameRate, 0);
                                if (this.pv.length) {
                                    for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) o[s] = u[s] + (u[s] - g[s]) * ((l - p) / this.comp.globalData.frameRate) / 5e-4;
                                    return o
                                }
                                return u + (l - p) / .001 * (u - g)
                            }
                        }
                        return this.getValueAtTime(((l - r) % i + r) / this.comp.globalData.frameRate, 0)
                    }

                    function e(t, e, a) {
                        if (!this.k) return this.pv;
                        t = t ? t.toLowerCase() : "";
                        var i, r, s, n, o, l = this.comp.renderedFrame,
                            h = this.keyframes,
                            p = h[0].t;
                        if (l >= p) return this.pv;
                        if (a ? r = p + (i = e ? Math.abs(this.elem.comp.globalData.frameRate * e) : Math.max(0, this.elem.data.op - p)) : ((!e || e > h.length - 1) && (e = h.length - 1), i = (r = h[e].t) - p), "pingpong" === t) {
                            if (Math.floor((p - l) / i) % 2 == 0) return this.getValueAtTime(((p - l) % i + p) / this.comp.globalData.frameRate, 0)
                        } else {
                            if ("offset" === t) {
                                var c = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),
                                    m = this.getValueAtTime(r / this.comp.globalData.frameRate, 0),
                                    d = this.getValueAtTime((i - (p - l) % i + p) / this.comp.globalData.frameRate, 0),
                                    f = Math.floor((p - l) / i) + 1;
                                if (this.pv.length) {
                                    for (n = (o = new Array(c.length)).length, s = 0; s < n; s += 1) o[s] = d[s] - (m[s] - c[s]) * f;
                                    return o
                                }
                                return d - (m - c) * f
                            }
                            if ("continue" === t) {
                                var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),
                                    g = this.getValueAtTime((p + .001) / this.comp.globalData.frameRate, 0);
                                if (this.pv.length) {
                                    for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) o[s] = u[s] + (u[s] - g[s]) * (p - l) / .001;
                                    return o
                                }
                                return u + (u - g) * (p - l) / .001
                            }
                        }
                        return this.getValueAtTime((i - ((p - l) % i + p)) / this.comp.globalData.frameRate, 0)
                    }

                    function a(t, e) {
                        if (!this.k) return this.pv;
                        if (t = .5 * (t || .4), (e = Math.floor(e || 5)) <= 1) return this.pv;
                        var a, i, r = this.comp.renderedFrame / this.comp.globalData.frameRate,
                            s = r - t,
                            n = e > 1 ? (r + t - s) / (e - 1) : 1,
                            o = 0,
                            l = 0;
                        for (a = this.pv.length ? createTypedArray("float32", this.pv.length) : 0; o < e;) {
                            if (i = this.getValueAtTime(s + o * n), this.pv.length)
                                for (l = 0; l < this.pv.length; l += 1) a[l] += i[l];
                            else a += i;
                            o += 1
                        }
                        if (this.pv.length)
                            for (l = 0; l < this.pv.length; l += 1) a[l] /= e;
                        else a /= e;
                        return a
                    }

                    function i(t) {
                        this._transformCachingAtTime || (this._transformCachingAtTime = {
                            v: new Matrix
                        });
                        var e = this._transformCachingAtTime.v;
                        if (e.cloneFromProps(this.pre.props), this.appliedTransformations < 1) {
                            var a = this.a.getValueAtTime(t);
                            e.translate(-a[0] * this.a.mult, -a[1] * this.a.mult, a[2] * this.a.mult)
                        }
                        if (this.appliedTransformations < 2) {
                            var i = this.s.getValueAtTime(t);
                            e.scale(i[0] * this.s.mult, i[1] * this.s.mult, i[2] * this.s.mult)
                        }
                        if (this.sk && this.appliedTransformations < 3) {
                            var r = this.sk.getValueAtTime(t),
                                s = this.sa.getValueAtTime(t);
                            e.skewFromAxis(-r * this.sk.mult, s * this.sa.mult)
                        }
                        if (this.r && this.appliedTransformations < 4) {
                            var n = this.r.getValueAtTime(t);
                            e.rotate(-n * this.r.mult)
                        } else if (!this.r && this.appliedTransformations < 4) {
                            var o = this.rz.getValueAtTime(t),
                                l = this.ry.getValueAtTime(t),
                                h = this.rx.getValueAtTime(t),
                                p = this.or.getValueAtTime(t);
                            e.rotateZ(-o * this.rz.mult).rotateY(l * this.ry.mult).rotateX(h * this.rx.mult).rotateZ(-p[2] * this.or.mult).rotateY(p[1] * this.or.mult).rotateX(p[0] * this.or.mult)
                        }
                        if (this.data.p && this.data.p.s) {
                            var c = this.px.getValueAtTime(t),
                                m = this.py.getValueAtTime(t);
                            if (this.data.p.z) {
                                var d = this.pz.getValueAtTime(t);
                                e.translate(c * this.px.mult, m * this.py.mult, -d * this.pz.mult)
                            } else e.translate(c * this.px.mult, m * this.py.mult, 0)
                        } else {
                            var f = this.p.getValueAtTime(t);
                            e.translate(f[0] * this.p.mult, f[1] * this.p.mult, -f[2] * this.p.mult)
                        }
                        return e
                    }

                    function r() {
                        return this.v.clone(new Matrix)
                    }
                    var s = TransformPropertyFactory.getTransformProperty;
                    TransformPropertyFactory.getTransformProperty = function(t, e, a) {
                        var n = s(t, e, a);
                        return n.dynamicProperties.length ? n.getValueAtTime = i.bind(n) : n.getValueAtTime = r.bind(n), n.setGroupProperty = expressionHelpers.setGroupProperty, n
                    };
                    var n = PropertyFactory.getProp;
                    PropertyFactory.getProp = function(i, r, s, o, l) {
                        var h = n(i, r, s, o, l);
                        h.kf ? h.getValueAtTime = expressionHelpers.getValueAtTime.bind(h) : h.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(h), h.setGroupProperty = expressionHelpers.setGroupProperty, h.loopOut = t, h.loopIn = e, h.smooth = a, h.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(h), h.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(h), h.numKeys = 1 === r.a ? r.k.length : 0, h.propertyIndex = r.ix;
                        var p = 0;
                        return 0 !== s && (p = createTypedArray("float32", 1 === r.a ? r.k[0].s.length : r.k.length)), h._cachingAtTime = {
                            lastFrame: initialDefaultFrame,
                            lastIndex: 0,
                            value: p
                        }, expressionHelpers.searchExpressions(i, r, h), h.k && l.addDynamicProperty(h), h
                    };
                    var o = ShapePropertyFactory.getConstructorFunction(),
                        l = ShapePropertyFactory.getKeyframedConstructorFunction();

                    function h() {}
                    h.prototype = {
                        vertices: function(t, e) {
                            this.k && this.getValue();
                            var a, i = this.v;
                            void 0 !== e && (i = this.getValueAtTime(e, 0));
                            var r = i._length,
                                s = i[t],
                                n = i.v,
                                o = createSizedArray(r);
                            for (a = 0; a < r; a += 1) o[a] = "i" === t || "o" === t ? [s[a][0] - n[a][0], s[a][1] - n[a][1]] : [s[a][0], s[a][1]];
                            return o
                        },
                        points: function(t) {
                            return this.vertices("v", t)
                        },
                        inTangents: function(t) {
                            return this.vertices("i", t)
                        },
                        outTangents: function(t) {
                            return this.vertices("o", t)
                        },
                        isClosed: function() {
                            return this.v.c
                        },
                        pointOnPath: function(t, e) {
                            var a = this.v;
                            void 0 !== e && (a = this.getValueAtTime(e, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(a));
                            for (var i, r = this._segmentsLength, s = r.lengths, n = r.totalLength * t, o = 0, l = s.length, h = 0; o < l;) {
                                if (h + s[o].addedLength > n) {
                                    var p = o,
                                        c = a.c && o === l - 1 ? 0 : o + 1,
                                        m = (n - h) / s[o].addedLength;
                                    i = bez.getPointInSegment(a.v[p], a.v[c], a.o[p], a.i[c], m, s[o]);
                                    break
                                }
                                h += s[o].addedLength, o += 1
                            }
                            return i || (i = a.c ? [a.v[0][0], a.v[0][1]] : [a.v[a._length - 1][0], a.v[a._length - 1][1]]), i
                        },
                        vectorOnPath: function(t, e, a) {
                            1 == t ? t = this.v.c : 0 == t && (t = .999);
                            var i = this.pointOnPath(t, e),
                                r = this.pointOnPath(t + .001, e),
                                s = r[0] - i[0],
                                n = r[1] - i[1],
                                o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2));
                            return 0 === o ? [0, 0] : "tangent" === a ? [s / o, n / o] : [-n / o, s / o]
                        },
                        tangentOnPath: function(t, e) {
                            return this.vectorOnPath(t, e, "tangent")
                        },
                        normalOnPath: function(t, e) {
                            return this.vectorOnPath(t, e, "normal")
                        },
                        setGroupProperty: expressionHelpers.setGroupProperty,
                        getValueAtTime: expressionHelpers.getStaticValueAtTime
                    }, extendPrototype([h], o), extendPrototype([h], l), l.prototype.getValueAtTime = function(t) {
                        return this._cachingAtTime || (this._cachingAtTime = {
                            shapeValue: shapePool.clone(this.pv),
                            lastIndex: 0,
                            lastTime: initialDefaultFrame
                        }), t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t ? this._caching.lastIndex : 0, this._cachingAtTime.lastTime = t, this.interpolateShape(t, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue
                    }, l.prototype.initiateExpression = ExpressionManager.initiateExpression;
                    var p = ShapePropertyFactory.getShapeProp;
                    ShapePropertyFactory.getShapeProp = function(t, e, a, i, r) {
                        var s = p(t, e, a, i, r);
                        return s.propertyIndex = e.ix, s.lock = !1, 3 === a ? expressionHelpers.searchExpressions(t, e.pt, s) : 4 === a && expressionHelpers.searchExpressions(t, e.ks, s), s.k && t.addDynamicProperty(s), s
                    }
                }(), TextProperty.prototype.getExpressionValue = function(t, e) {
                    var a = this.calculateExpression(e);
                    if (t.t !== a) {
                        var i = {};
                        return this.copyData(i, t), i.t = a.toString(), i.__complete = !1, i
                    }
                    return t
                }, TextProperty.prototype.searchProperty = function() {
                    var t = this.searchKeyframes(),
                        e = this.searchExpressions();
                    return this.kf = t || e, this.kf
                }, TextProperty.prototype.searchExpressions = function() {
                    return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), !0) : null
                };
                var ShapePathInterface = function(t, e, a) {
                        var i = e.sh;

                        function r(t) {
                            return "Shape" === t || "shape" === t || "Path" === t || "path" === t || "ADBE Vector Shape" === t || 2 === t ? r.path : null
                        }
                        var s = propertyGroupFactory(r, a);
                        return i.setGroupProperty(PropertyInterface("Path", s)), Object.defineProperties(r, {
                            path: {
                                get: function() {
                                    return i.k && i.getValue(), i
                                }
                            },
                            shape: {
                                get: function() {
                                    return i.k && i.getValue(), i
                                }
                            },
                            _name: {
                                value: t.nm
                            },
                            ix: {
                                value: t.ix
                            },
                            propertyIndex: {
                                value: t.ix
                            },
                            mn: {
                                value: t.mn
                            },
                            propertyGroup: {
                                value: a
                            }
                        }), r
                    },
                    propertyGroupFactory = function(t, e) {
                        return function(a) {
                            return (a = void 0 === a ? 1 : a) <= 0 ? t : e(a - 1)
                        }
                    },
                    PropertyInterface = function(t, e) {
                        var a = {
                            _name: t
                        };
                        return function(t) {
                            return (t = void 0 === t ? 1 : t) <= 0 ? a : e(t - 1)
                        }
                    },
                    ShapeExpressionInterface = function() {
                        function t(t, o, d) {
                            var f, u = [],
                                g = t ? t.length : 0;
                            for (f = 0; f < g; f += 1) "gr" === t[f].ty ? u.push(e(t[f], o[f], d)) : "fl" === t[f].ty ? u.push(a(t[f], o[f], d)) : "st" === t[f].ty ? u.push(s(t[f], o[f], d)) : "tm" === t[f].ty ? u.push(n(t[f], o[f], d)) : "tr" === t[f].ty || ("el" === t[f].ty ? u.push(l(t[f], o[f], d)) : "sr" === t[f].ty ? u.push(h(t[f], o[f], d)) : "sh" === t[f].ty ? u.push(ShapePathInterface(t[f], o[f], d)) : "rc" === t[f].ty ? u.push(p(t[f], o[f], d)) : "rd" === t[f].ty ? u.push(c(t[f], o[f], d)) : "rp" === t[f].ty ? u.push(m(t[f], o[f], d)) : "gf" === t[f].ty ? u.push(i(t[f], o[f], d)) : u.push(r(t[f], o[f])));
                            return u
                        }

                        function e(e, a, i) {
                            var r = function(t) {
                                switch (t) {
                                    case "ADBE Vectors Group":
                                    case "Contents":
                                    case 2:
                                        return r.content;
                                    default:
                                        return r.transform
                                }
                            };
                            r.propertyGroup = propertyGroupFactory(r, i);
                            var s = function(e, a, i) {
                                    var r, s = function(t) {
                                        for (var e = 0, a = r.length; e < a;) {
                                            if (r[e]._name === t || r[e].mn === t || r[e].propertyIndex === t || r[e].ix === t || r[e].ind === t) return r[e];
                                            e += 1
                                        }
                                        return "number" == typeof t ? r[t - 1] : null
                                    };
                                    s.propertyGroup = propertyGroupFactory(s, i), r = t(e.it, a.it, s.propertyGroup), s.numProperties = r.length;
                                    var n = o(e.it[e.it.length - 1], a.it[a.it.length - 1], s.propertyGroup);
                                    return s.transform = n, s.propertyIndex = e.cix, s._name = e.nm, s
                                }(e, a, r.propertyGroup),
                                n = o(e.it[e.it.length - 1], a.it[a.it.length - 1], r.propertyGroup);
                            return r.content = s, r.transform = n, Object.defineProperty(r, "_name", {
                                get: function() {
                                    return e.nm
                                }
                            }), r.numProperties = e.np, r.propertyIndex = e.ix, r.nm = e.nm, r.mn = e.mn, r
                        }

                        function a(t, e, a) {
                            function i(t) {
                                return "Color" === t || "color" === t ? i.color : "Opacity" === t || "opacity" === t ? i.opacity : null
                            }
                            return Object.defineProperties(i, {
                                color: {
                                    get: ExpressionPropertyInterface(e.c)
                                },
                                opacity: {
                                    get: ExpressionPropertyInterface(e.o)
                                },
                                _name: {
                                    value: t.nm
                                },
                                mn: {
                                    value: t.mn
                                }
                            }), e.c.setGroupProperty(PropertyInterface("Color", a)), e.o.setGroupProperty(PropertyInterface("Opacity", a)), i
                        }

                        function i(t, e, a) {
                            function i(t) {
                                return "Start Point" === t || "start point" === t ? i.startPoint : "End Point" === t || "end point" === t ? i.endPoint : "Opacity" === t || "opacity" === t ? i.opacity : null
                            }
                            return Object.defineProperties(i, {
                                startPoint: {
                                    get: ExpressionPropertyInterface(e.s)
                                },
                                endPoint: {
                                    get: ExpressionPropertyInterface(e.e)
                                },
                                opacity: {
                                    get: ExpressionPropertyInterface(e.o)
                                },
                                type: {
                                    get: function() {
                                        return "a"
                                    }
                                },
                                _name: {
                                    value: t.nm
                                },
                                mn: {
                                    value: t.mn
                                }
                            }), e.s.setGroupProperty(PropertyInterface("Start Point", a)), e.e.setGroupProperty(PropertyInterface("End Point", a)), e.o.setGroupProperty(PropertyInterface("Opacity", a)), i
                        }

                        function r() {
                            return function() {
                                return null
                            }
                        }

                        function s(t, e, a) {
                            var i, r = propertyGroupFactory(h, a),
                                s = propertyGroupFactory(l, r);

                            function n(a) {
                                Object.defineProperty(l, t.d[a].nm, {
                                    get: ExpressionPropertyInterface(e.d.dataProps[a].p)
                                })
                            }
                            var o = t.d ? t.d.length : 0,
                                l = {};
                            for (i = 0; i < o; i += 1) n(i), e.d.dataProps[i].p.setGroupProperty(s);

                            function h(t) {
                                return "Color" === t || "color" === t ? h.color : "Opacity" === t || "opacity" === t ? h.opacity : "Stroke Width" === t || "stroke width" === t ? h.strokeWidth : null
                            }
                            return Object.defineProperties(h, {
                                color: {
                                    get: ExpressionPropertyInterface(e.c)
                                },
                                opacity: {
                                    get: ExpressionPropertyInterface(e.o)
                                },
                                strokeWidth: {
                                    get: ExpressionPropertyInterface(e.w)
                                },
                                dash: {
                                    get: function() {
                                        return l
                                    }
                                },
                                _name: {
                                    value: t.nm
                                },
                                mn: {
                                    value: t.mn
                                }
                            }), e.c.setGroupProperty(PropertyInterface("Color", r)), e.o.setGroupProperty(PropertyInterface("Opacity", r)), e.w.setGroupProperty(PropertyInterface("Stroke Width", r)), h
                        }

                        function n(t, e, a) {
                            function i(e) {
                                return e === t.e.ix || "End" === e || "end" === e ? i.end : e === t.s.ix ? i.start : e === t.o.ix ? i.offset : null
                            }
                            var r = propertyGroupFactory(i, a);
                            return i.propertyIndex = t.ix, e.s.setGroupProperty(PropertyInterface("Start", r)), e.e.setGroupProperty(PropertyInterface("End", r)), e.o.setGroupProperty(PropertyInterface("Offset", r)), i.propertyIndex = t.ix, i.propertyGroup = a, Object.defineProperties(i, {
                                start: {
                                    get: ExpressionPropertyInterface(e.s)
                                },
                                end: {
                                    get: ExpressionPropertyInterface(e.e)
                                },
                                offset: {
                                    get: ExpressionPropertyInterface(e.o)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.mn = t.mn, i
                        }

                        function o(t, e, a) {
                            function i(e) {
                                return t.a.ix === e || "Anchor Point" === e ? i.anchorPoint : t.o.ix === e || "Opacity" === e ? i.opacity : t.p.ix === e || "Position" === e ? i.position : t.r.ix === e || "Rotation" === e || "ADBE Vector Rotation" === e ? i.rotation : t.s.ix === e || "Scale" === e ? i.scale : t.sk && t.sk.ix === e || "Skew" === e ? i.skew : t.sa && t.sa.ix === e || "Skew Axis" === e ? i.skewAxis : null
                            }
                            var r = propertyGroupFactory(i, a);
                            return e.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity", r)), e.transform.mProps.p.setGroupProperty(PropertyInterface("Position", r)), e.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point", r)), e.transform.mProps.s.setGroupProperty(PropertyInterface("Scale", r)), e.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation", r)), e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew", r)), e.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle", r))), e.transform.op.setGroupProperty(PropertyInterface("Opacity", r)), Object.defineProperties(i, {
                                opacity: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.o)
                                },
                                position: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.p)
                                },
                                anchorPoint: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.a)
                                },
                                scale: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.s)
                                },
                                rotation: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.r)
                                },
                                skew: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.sk)
                                },
                                skewAxis: {
                                    get: ExpressionPropertyInterface(e.transform.mProps.sa)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.ty = "tr", i.mn = t.mn, i.propertyGroup = a, i
                        }

                        function l(t, e, a) {
                            function i(e) {
                                return t.p.ix === e ? i.position : t.s.ix === e ? i.size : null
                            }
                            var r = propertyGroupFactory(i, a);
                            i.propertyIndex = t.ix;
                            var s = "tm" === e.sh.ty ? e.sh.prop : e.sh;
                            return s.s.setGroupProperty(PropertyInterface("Size", r)), s.p.setGroupProperty(PropertyInterface("Position", r)), Object.defineProperties(i, {
                                size: {
                                    get: ExpressionPropertyInterface(s.s)
                                },
                                position: {
                                    get: ExpressionPropertyInterface(s.p)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.mn = t.mn, i
                        }

                        function h(t, e, a) {
                            function i(e) {
                                return t.p.ix === e ? i.position : t.r.ix === e ? i.rotation : t.pt.ix === e ? i.points : t.or.ix === e || "ADBE Vector Star Outer Radius" === e ? i.outerRadius : t.os.ix === e ? i.outerRoundness : !t.ir || t.ir.ix !== e && "ADBE Vector Star Inner Radius" !== e ? t.is && t.is.ix === e ? i.innerRoundness : null : i.innerRadius
                            }
                            var r = propertyGroupFactory(i, a),
                                s = "tm" === e.sh.ty ? e.sh.prop : e.sh;
                            return i.propertyIndex = t.ix, s.or.setGroupProperty(PropertyInterface("Outer Radius", r)), s.os.setGroupProperty(PropertyInterface("Outer Roundness", r)), s.pt.setGroupProperty(PropertyInterface("Points", r)), s.p.setGroupProperty(PropertyInterface("Position", r)), s.r.setGroupProperty(PropertyInterface("Rotation", r)), t.ir && (s.ir.setGroupProperty(PropertyInterface("Inner Radius", r)), s.is.setGroupProperty(PropertyInterface("Inner Roundness", r))), Object.defineProperties(i, {
                                position: {
                                    get: ExpressionPropertyInterface(s.p)
                                },
                                rotation: {
                                    get: ExpressionPropertyInterface(s.r)
                                },
                                points: {
                                    get: ExpressionPropertyInterface(s.pt)
                                },
                                outerRadius: {
                                    get: ExpressionPropertyInterface(s.or)
                                },
                                outerRoundness: {
                                    get: ExpressionPropertyInterface(s.os)
                                },
                                innerRadius: {
                                    get: ExpressionPropertyInterface(s.ir)
                                },
                                innerRoundness: {
                                    get: ExpressionPropertyInterface(s.is)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.mn = t.mn, i
                        }

                        function p(t, e, a) {
                            function i(e) {
                                return t.p.ix === e ? i.position : t.r.ix === e ? i.roundness : t.s.ix === e || "Size" === e || "ADBE Vector Rect Size" === e ? i.size : null
                            }
                            var r = propertyGroupFactory(i, a),
                                s = "tm" === e.sh.ty ? e.sh.prop : e.sh;
                            return i.propertyIndex = t.ix, s.p.setGroupProperty(PropertyInterface("Position", r)), s.s.setGroupProperty(PropertyInterface("Size", r)), s.r.setGroupProperty(PropertyInterface("Rotation", r)), Object.defineProperties(i, {
                                position: {
                                    get: ExpressionPropertyInterface(s.p)
                                },
                                roundness: {
                                    get: ExpressionPropertyInterface(s.r)
                                },
                                size: {
                                    get: ExpressionPropertyInterface(s.s)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.mn = t.mn, i
                        }

                        function c(t, e, a) {
                            function i(e) {
                                return t.r.ix === e || "Round Corners 1" === e ? i.radius : null
                            }
                            var r = propertyGroupFactory(i, a),
                                s = e;
                            return i.propertyIndex = t.ix, s.rd.setGroupProperty(PropertyInterface("Radius", r)), Object.defineProperties(i, {
                                radius: {
                                    get: ExpressionPropertyInterface(s.rd)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.mn = t.mn, i
                        }

                        function m(t, e, a) {
                            function i(e) {
                                return t.c.ix === e || "Copies" === e ? i.copies : t.o.ix === e || "Offset" === e ? i.offset : null
                            }
                            var r = propertyGroupFactory(i, a),
                                s = e;
                            return i.propertyIndex = t.ix, s.c.setGroupProperty(PropertyInterface("Copies", r)), s.o.setGroupProperty(PropertyInterface("Offset", r)), Object.defineProperties(i, {
                                copies: {
                                    get: ExpressionPropertyInterface(s.c)
                                },
                                offset: {
                                    get: ExpressionPropertyInterface(s.o)
                                },
                                _name: {
                                    value: t.nm
                                }
                            }), i.mn = t.mn, i
                        }
                        return function(e, a, i) {
                            var r;

                            function s(t) {
                                if ("number" == typeof t) return 0 === (t = void 0 === t ? 1 : t) ? i : r[t - 1];
                                for (var e = 0, a = r.length; e < a;) {
                                    if (r[e]._name === t) return r[e];
                                    e += 1
                                }
                                return null
                            }
                            return s.propertyGroup = propertyGroupFactory(s, (function() {
                                return i
                            })), r = t(e, a, s.propertyGroup), s.numProperties = r.length, s._name = "Contents", s
                        }
                    }(),
                    TextExpressionInterface = function(t) {
                        var e;

                        function a(t) {
                            switch (t) {
                                case "ADBE Text Document":
                                    return a.sourceText;
                                default:
                                    return null
                            }
                        }
                        return Object.defineProperty(a, "sourceText", {
                            get: function() {
                                t.textProperty.getValue();
                                var a = t.textProperty.currentData.t;
                                return void 0 !== a && (t.textProperty.currentData.t = void 0, (e = new String(a)).value = a || new String(a)), e
                            }
                        }), a
                    },
                    LayerExpressionInterface = function() {
                        function t(t) {
                            var e = new Matrix;
                            void 0 !== t ? this._elem.finalTransform.mProp.getValueAtTime(t).clone(e) : this._elem.finalTransform.mProp.applyToMatrix(e);
                            return e
                        }

                        function e(t, e) {
                            var a = this.getMatrix(e);
                            return a.props[12] = 0, a.props[13] = 0, a.props[14] = 0, this.applyPoint(a, t)
                        }

                        function a(t, e) {
                            var a = this.getMatrix(e);
                            return this.applyPoint(a, t)
                        }

                        function i(t, e) {
                            var a = this.getMatrix(e);
                            return a.props[12] = 0, a.props[13] = 0, a.props[14] = 0, this.invertPoint(a, t)
                        }

                        function r(t, e) {
                            var a = this.getMatrix(e);
                            return this.invertPoint(a, t)
                        }

                        function s(t, e) {
                            if (this._elem.hierarchy && this._elem.hierarchy.length) {
                                var a, i = this._elem.hierarchy.length;
                                for (a = 0; a < i; a += 1) this._elem.hierarchy[a].finalTransform.mProp.applyToMatrix(t)
                            }
                            return t.applyToPointArray(e[0], e[1], e[2] || 0)
                        }

                        function n(t, e) {
                            if (this._elem.hierarchy && this._elem.hierarchy.length) {
                                var a, i = this._elem.hierarchy.length;
                                for (a = 0; a < i; a += 1) this._elem.hierarchy[a].finalTransform.mProp.applyToMatrix(t)
                            }
                            return t.inversePoint(e)
                        }

                        function o(t) {
                            var e = new Matrix;
                            if (e.reset(), this._elem.finalTransform.mProp.applyToMatrix(e), this._elem.hierarchy && this._elem.hierarchy.length) {
                                var a, i = this._elem.hierarchy.length;
                                for (a = 0; a < i; a += 1) this._elem.hierarchy[a].finalTransform.mProp.applyToMatrix(e);
                                return e.inversePoint(t)
                            }
                            return e.inversePoint(t)
                        }

                        function l() {
                            return [1, 1, 1, 1]
                        }
                        return function(h) {
                            var p;

                            function c(t) {
                                switch (t) {
                                    case "ADBE Root Vectors Group":
                                    case "Contents":
                                    case 2:
                                        return c.shapeInterface;
                                    case 1:
                                    case 6:
                                    case "Transform":
                                    case "transform":
                                    case "ADBE Transform Group":
                                        return p;
                                    case 4:
                                    case "ADBE Effect Parade":
                                    case "effects":
                                    case "Effects":
                                        return c.effect;
                                    case "ADBE Text Properties":
                                        return c.textInterface;
                                    default:
                                        return null
                                }
                            }
                            c.getMatrix = t, c.invertPoint = n, c.applyPoint = s, c.toWorld = a, c.toWorldVec = e, c.fromWorld = r, c.fromWorldVec = i, c.toComp = a, c.fromComp = o, c.sampleImage = l, c.sourceRectAtTime = h.sourceRectAtTime.bind(h), c._elem = h;
                            var m = getDescriptor(p = TransformExpressionInterface(h.finalTransform.mProp), "anchorPoint");
                            return Object.defineProperties(c, {
                                hasParent: {
                                    get: function() {
                                        return h.hierarchy.length
                                    }
                                },
                                parent: {
                                    get: function() {
                                        return h.hierarchy[0].layerInterface
                                    }
                                },
                                rotation: getDescriptor(p, "rotation"),
                                scale: getDescriptor(p, "scale"),
                                position: getDescriptor(p, "position"),
                                opacity: getDescriptor(p, "opacity"),
                                anchorPoint: m,
                                anchor_point: m,
                                transform: {
                                    get: function() {
                                        return p
                                    }
                                },
                                active: {
                                    get: function() {
                                        return h.isInRange
                                    }
                                }
                            }), c.startTime = h.data.st, c.index = h.data.ind, c.source = h.data.refId, c.height = 0 === h.data.ty ? h.data.h : 100, c.width = 0 === h.data.ty ? h.data.w : 100, c.inPoint = h.data.ip / h.comp.globalData.frameRate, c.outPoint = h.data.op / h.comp.globalData.frameRate, c._name = h.data.nm, c.registerMaskInterface = function(t) {
                                c.mask = new MaskManagerInterface(t, h)
                            }, c.registerEffectsInterface = function(t) {
                                c.effect = t
                            }, c
                        }
                    }(),
                    FootageInterface = (dataInterfaceFactory = function(t) {
                        function e(t) {
                            return "Outline" === t ? e.outlineInterface() : null
                        }
                        return e._name = "Outline", e.outlineInterface = function(t) {
                            var e = "",
                                a = t.getFootageData();

                            function i(t) {
                                if (a[t]) return e = t, "object" == typeof(a = a[t]) ? i : a;
                                var r = t.indexOf(e);
                                if (-1 !== r) {
                                    var s = parseInt(t.substr(r + e.length), 10);
                                    return "object" == typeof(a = a[s]) ? i : a
                                }
                                return ""
                            }
                            return function() {
                                return e = "", a = t.getFootageData(), i
                            }
                        }(t), e
                    }, function(t) {
                        function e(t) {
                            return "Data" === t ? e.dataInterface : null
                        }
                        return e._name = "Data", e.dataInterface = dataInterfaceFactory(t), e
                    }),
                    dataInterfaceFactory, CompExpressionInterface = function(t) {
                        function e(e) {
                            for (var a = 0, i = t.layers.length; a < i;) {
                                if (t.layers[a].nm === e || t.layers[a].ind === e) return t.elements[a].layerInterface;
                                a += 1
                            }
                            return null
                        }
                        return Object.defineProperty(e, "_name", {
                            value: t.data.nm
                        }), e.layer = e, e.pixelAspect = 1, e.height = t.data.h || t.globalData.compSize.h, e.width = t.data.w || t.globalData.compSize.w, e.pixelAspect = 1, e.frameDuration = 1 / t.globalData.frameRate, e.displayStartTime = 0, e.numLayers = t.layers.length, e
                    },
                    TransformExpressionInterface = function(t) {
                        function e(t) {
                            switch (t) {
                                case "scale":
                                case "Scale":
                                case "ADBE Scale":
                                case 6:
                                    return e.scale;
                                case "rotation":
                                case "Rotation":
                                case "ADBE Rotation":
                                case "ADBE Rotate Z":
                                case 10:
                                    return e.rotation;
                                case "ADBE Rotate X":
                                    return e.xRotation;
                                case "ADBE Rotate Y":
                                    return e.yRotation;
                                case "position":
                                case "Position":
                                case "ADBE Position":
                                case 2:
                                    return e.position;
                                case "ADBE Position_0":
                                    return e.xPosition;
                                case "ADBE Position_1":
                                    return e.yPosition;
                                case "ADBE Position_2":
                                    return e.zPosition;
                                case "anchorPoint":
                                case "AnchorPoint":
                                case "Anchor Point":
                                case "ADBE AnchorPoint":
                                case 1:
                                    return e.anchorPoint;
                                case "opacity":
                                case "Opacity":
                                case 11:
                                    return e.opacity;
                                default:
                                    return null
                            }
                        }
                        var a, i, r, s;
                        return Object.defineProperty(e, "rotation", {
                            get: ExpressionPropertyInterface(t.r || t.rz)
                        }), Object.defineProperty(e, "zRotation", {
                            get: ExpressionPropertyInterface(t.rz || t.r)
                        }), Object.defineProperty(e, "xRotation", {
                            get: ExpressionPropertyInterface(t.rx)
                        }), Object.defineProperty(e, "yRotation", {
                            get: ExpressionPropertyInterface(t.ry)
                        }), Object.defineProperty(e, "scale", {
                            get: ExpressionPropertyInterface(t.s)
                        }), t.p ? s = ExpressionPropertyInterface(t.p) : (a = ExpressionPropertyInterface(t.px), i = ExpressionPropertyInterface(t.py), t.pz && (r = ExpressionPropertyInterface(t.pz))), Object.defineProperty(e, "position", {
                            get: function() {
                                return t.p ? s() : [a(), i(), r ? r() : 0]
                            }
                        }), Object.defineProperty(e, "xPosition", {
                            get: ExpressionPropertyInterface(t.px)
                        }), Object.defineProperty(e, "yPosition", {
                            get: ExpressionPropertyInterface(t.py)
                        }), Object.defineProperty(e, "zPosition", {
                            get: ExpressionPropertyInterface(t.pz)
                        }), Object.defineProperty(e, "anchorPoint", {
                            get: ExpressionPropertyInterface(t.a)
                        }), Object.defineProperty(e, "opacity", {
                            get: ExpressionPropertyInterface(t.o)
                        }), Object.defineProperty(e, "skew", {
                            get: ExpressionPropertyInterface(t.sk)
                        }), Object.defineProperty(e, "skewAxis", {
                            get: ExpressionPropertyInterface(t.sa)
                        }), Object.defineProperty(e, "orientation", {
                            get: ExpressionPropertyInterface(t.or)
                        }), e
                    },
                    ProjectInterface = function() {
                        function t(t) {
                            this.compositions.push(t)
                        }
                        return function() {
                            function e(t) {
                                for (var e = 0, a = this.compositions.length; e < a;) {
                                    if (this.compositions[e].data && this.compositions[e].data.nm === t) return this.compositions[e].prepareFrame && this.compositions[e].data.xt && this.compositions[e].prepareFrame(this.currentFrame), this.compositions[e].compInterface;
                                    e += 1
                                }
                                return null
                            }
                            return e.compositions = [], e.currentFrame = 0, e.registerComposition = t, e
                        }
                    }(),
                    EffectsExpressionInterface = function() {
                        function t(a, i, r, s) {
                            function n(t) {
                                for (var e = a.ef, i = 0, r = e.length; i < r;) {
                                    if (t === e[i].nm || t === e[i].mn || t === e[i].ix) return 5 === e[i].ty ? h[i] : h[i]();
                                    i += 1
                                }
                                throw new Error
                            }
                            var o, l = propertyGroupFactory(n, r),
                                h = [],
                                p = a.ef.length;
                            for (o = 0; o < p; o += 1) 5 === a.ef[o].ty ? h.push(t(a.ef[o], i.effectElements[o], i.effectElements[o].propertyGroup, s)) : h.push(e(i.effectElements[o], a.ef[o].ty, s, l));
                            return "ADBE Color Control" === a.mn && Object.defineProperty(n, "color", {
                                get: function() {
                                    return h[0]()
                                }
                            }), Object.defineProperties(n, {
                                numProperties: {
                                    get: function() {
                                        return a.np
                                    }
                                },
                                _name: {
                                    value: a.nm
                                },
                                propertyGroup: {
                                    value: l
                                }
                            }), n.enabled = 0 !== a.en, n.active = n.enabled, n
                        }

                        function e(t, e, a, i) {
                            var r = ExpressionPropertyInterface(t.p);
                            return t.p.setGroupProperty && t.p.setGroupProperty(PropertyInterface("", i)),
                                function() {
                                    return 10 === e ? a.comp.compInterface(t.p.v) : r()
                                }
                        }
                        return {
                            createEffectsInterface: function(e, a) {
                                if (e.effectsManager) {
                                    var i, r = [],
                                        s = e.data.ef,
                                        n = e.effectsManager.effectElements.length;
                                    for (i = 0; i < n; i += 1) r.push(t(s[i], e.effectsManager.effectElements[i], a, e));
                                    var o = e.data.ef || [],
                                        l = function(t) {
                                            for (i = 0, n = o.length; i < n;) {
                                                if (t === o[i].nm || t === o[i].mn || t === o[i].ix) return r[i];
                                                i += 1
                                            }
                                            return null
                                        };
                                    return Object.defineProperty(l, "numProperties", {
                                        get: function() {
                                            return o.length
                                        }
                                    }), l
                                }
                                return null
                            }
                        }
                    }(),
                    MaskManagerInterface = function() {
                        function t(t, e) {
                            this._mask = t, this._data = e
                        }
                        Object.defineProperty(t.prototype, "maskPath", {
                            get: function() {
                                return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop
                            }
                        }), Object.defineProperty(t.prototype, "maskOpacity", {
                            get: function() {
                                return this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v
                            }
                        });
                        return function(e) {
                            var a, i = createSizedArray(e.viewData.length),
                                r = e.viewData.length;
                            for (a = 0; a < r; a += 1) i[a] = new t(e.viewData[a], e.masksProperties[a]);
                            return function(t) {
                                for (a = 0; a < r;) {
                                    if (e.masksProperties[a].nm === t) return i[a];
                                    a += 1
                                }
                                return null
                            }
                        }
                    }(),
                    ExpressionPropertyInterface = function() {
                        var t = {
                                pv: 0,
                                v: 0,
                                mult: 1
                            },
                            e = {
                                pv: [0, 0, 0],
                                v: [0, 0, 0],
                                mult: 1
                            };

                        function a(t, e, a) {
                            Object.defineProperty(t, "velocity", {
                                get: function() {
                                    return e.getVelocityAtTime(e.comp.currentFrame)
                                }
                            }), t.numKeys = e.keyframes ? e.keyframes.length : 0, t.key = function(i) {
                                if (!t.numKeys) return 0;
                                var r = "";
                                r = "s" in e.keyframes[i - 1] ? e.keyframes[i - 1].s : "e" in e.keyframes[i - 2] ? e.keyframes[i - 2].e : e.keyframes[i - 2].s;
                                var s = "unidimensional" === a ? new Number(r) : Object.assign({}, r);
                                return s.time = e.keyframes[i - 1].t / e.elem.comp.globalData.frameRate, s.value = "unidimensional" === a ? r[0] : r, s
                            }, t.valueAtTime = e.getValueAtTime, t.speedAtTime = e.getSpeedAtTime, t.velocityAtTime = e.getVelocityAtTime, t.propertyGroup = e.propertyGroup
                        }

                        function i() {
                            return t
                        }
                        return function(r) {
                            return r ? "unidimensional" === r.propType ? function(e) {
                                e && "pv" in e || (e = t);
                                var i = 1 / e.mult,
                                    r = e.pv * i,
                                    s = new Number(r);
                                return s.value = r, a(s, e, "unidimensional"),
                                    function() {
                                        return e.k && e.getValue(), r = e.v * i, s.value !== r && ((s = new Number(r)).value = r, a(s, e, "unidimensional")), s
                                    }
                            }(r) : function(t) {
                                t && "pv" in t || (t = e);
                                var i = 1 / t.mult,
                                    r = t.data && t.data.l || t.pv.length,
                                    s = createTypedArray("float32", r),
                                    n = createTypedArray("float32", r);
                                return s.value = n, a(s, t, "multidimensional"),
                                    function() {
                                        t.k && t.getValue();
                                        for (var e = 0; e < r; e += 1) n[e] = t.v[e] * i, s[e] = n[e];
                                        return s
                                    }
                            }(r) : i
                        }
                    }();

                function SliderEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 0, 0, a)
                }

                function AngleEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 0, 0, a)
                }

                function ColorEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 1, 0, a)
                }

                function PointEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 1, 0, a)
                }

                function LayerIndexEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 0, 0, a)
                }

                function MaskIndexEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 0, 0, a)
                }

                function CheckboxEffect(t, e, a) {
                    this.p = PropertyFactory.getProp(e, t.v, 0, 0, a)
                }

                function NoValueEffect() {
                    this.p = {}
                }

                function EffectsManager(t, e) {
                    var a, i = t.ef || [];
                    this.effectElements = [];
                    var r, s = i.length;
                    for (a = 0; a < s; a += 1) r = new GroupEffect(i[a], e), this.effectElements.push(r)
                }

                function GroupEffect(t, e) {
                    this.init(t, e)
                }! function() {
                    ! function() {
                        function t(t, e) {
                            return this.textIndex = t + 1, this.textTotal = e, this.v = this.getValue() * this.mult, this.v
                        }
                    }();
                    var t = TextSelectorProp.getTextSelectorProp;
                    TextSelectorProp.getTextSelectorProp = function(e, a, i) {
                        return 1 === a.t ? new TextExpressionSelectorPropFactory(e, a, i) : t(e, a, i)
                    }
                }(), extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function(t, e) {
                    var a;
                    this.data = t, this.effectElements = [], this.initDynamicPropertyContainer(e);
                    var i, r = this.data.ef.length,
                        s = this.data.ef;
                    for (a = 0; a < r; a += 1) {
                        switch (i = null, s[a].ty) {
                            case 0:
                                i = new SliderEffect(s[a], e, this);
                                break;
                            case 1:
                                i = new AngleEffect(s[a], e, this);
                                break;
                            case 2:
                                i = new ColorEffect(s[a], e, this);
                                break;
                            case 3:
                                i = new PointEffect(s[a], e, this);
                                break;
                            case 4:
                            case 7:
                                i = new CheckboxEffect(s[a], e, this);
                                break;
                            case 10:
                                i = new LayerIndexEffect(s[a], e, this);
                                break;
                            case 11:
                                i = new MaskIndexEffect(s[a], e, this);
                                break;
                            case 5:
                                i = new EffectsManager(s[a], e, this);
                                break;
                            default:
                                i = new NoValueEffect(s[a], e, this)
                        }
                        i && this.effectElements.push(i)
                    }
                };
                var lottie = {};

                function setLocationHref(t) {
                    locationHref = t
                }

                function searchAnimations() {
                    !0 === standalone ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations()
                }

                function setSubframeRendering(t) {
                    subframeEnabled = t
                }

                function setIDPrefix(t) {
                    idPrefix = t
                }

                function loadAnimation(t) {
                    return !0 === standalone && (t.animationData = JSON.parse(animationData)), animationManager.loadAnimation(t)
                }

                function setQuality(t) {
                    if ("string" == typeof t) switch (t) {
                        case "high":
                            defaultCurveSegments = 200;
                            break;
                        default:
                        case "medium":
                            defaultCurveSegments = 50;
                            break;
                        case "low":
                            defaultCurveSegments = 10
                    } else !isNaN(t) && t > 1 && (defaultCurveSegments = t);
                    roundValues(!(defaultCurveSegments >= 50))
                }

                function inBrowser() {
                    return "undefined" != typeof navigator
                }

                function installPlugin(t, e) {
                    "expressions" === t && (expressionsPlugin = e)
                }

                function getFactory(t) {
                    switch (t) {
                        case "propertyFactory":
                            return PropertyFactory;
                        case "shapePropertyFactory":
                            return ShapePropertyFactory;
                        case "matrix":
                            return Matrix;
                        default:
                            return null
                    }
                }

                function checkReady() {
                    "complete" === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations())
                }

                function getQueryVariable(t) {
                    for (var e = queryString.split("&"), a = 0; a < e.length; a += 1) {
                        var i = e[a].split("=");
                        if (decodeURIComponent(i[0]) == t) return decodeURIComponent(i[1])
                    }
                    return null
                }
                lottie.play = animationManager.play, lottie.pause = animationManager.pause, lottie.setLocationHref = setLocationHref, lottie.togglePause = animationManager.togglePause, lottie.setSpeed = animationManager.setSpeed, lottie.setDirection = animationManager.setDirection, lottie.stop = animationManager.stop, lottie.searchAnimations = searchAnimations, lottie.registerAnimation = animationManager.registerAnimation, lottie.loadAnimation = loadAnimation, lottie.setSubframeRendering = setSubframeRendering, lottie.resize = animationManager.resize, lottie.goToAndStop = animationManager.goToAndStop, lottie.destroy = animationManager.destroy, lottie.setQuality = setQuality, lottie.inBrowser = inBrowser, lottie.installPlugin = installPlugin, lottie.freeze = animationManager.freeze, lottie.unfreeze = animationManager.unfreeze, lottie.setVolume = animationManager.setVolume, lottie.mute = animationManager.mute, lottie.unmute = animationManager.unmute, lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.setIDPrefix = setIDPrefix, lottie.__getFactory = getFactory, lottie.version = "5.7.11";
                var standalone = "__[STANDALONE]__",
                    animationData = "__[ANIMATIONDATA]__",
                    renderer = "",
                    queryString;
                if (standalone) {
                    var scripts = document.getElementsByTagName("script"),
                        index = scripts.length - 1,
                        myScript = scripts[index] || {
                            src: ""
                        };
                    queryString = myScript.src.replace(/^[^\?]+\??/, ""), renderer = getQueryVariable("renderer")
                }
                var readyStateCheckInterval = setInterval(checkReady, 100);
                return lottie
            }))
        },
        m0Pp: function(t, e, a) {
            var i = a("2OiF");
            t.exports = function(t, e, a) {
                if (i(t), void 0 === e) return t;
                switch (a) {
                    case 1:
                        return function(a) {
                            return t.call(e, a)
                        };
                    case 2:
                        return function(a, i) {
                            return t.call(e, a, i)
                        };
                    case 3:
                        return function(a, i, r) {
                            return t.call(e, a, i, r)
                        }
                }
                return function() {
                    return t.apply(e, arguments)
                }
            }
        },
        nGyu: function(t, e, a) {
            var i = a("K0xU")("unscopables"),
                r = Array.prototype;
            null == r[i] && a("Mukb")(r, i, {}), t.exports = function(t) {
                r[i][t] = !0
            }
        },
        ne8i: function(t, e, a) {
            var i = a("RYi7"),
                r = Math.min;
            t.exports = function(t) {
                return t > 0 ? r(i(t), 9007199254740991) : 0
            }
        },
        nh4g: function(t, e, a) {
            t.exports = !a("eeVq")((function() {
                return 7 != Object.defineProperty({}, "a", {
                    get: function() {
                        return 7
                    }
                }).a
            }))
        },
        pIFo: function(t, e, a) {
            "use strict";
            var i = a("y3w9"),
                r = a("S/j/"),
                s = a("ne8i"),
                n = a("RYi7"),
                o = a("A5AN"),
                l = a("Xxuz"),
                h = Math.max,
                p = Math.min,
                c = Math.floor,
                m = /\$([$&`']|\d\d?|<[^>]*>)/g,
                d = /\$([$&`']|\d\d?)/g;
            a("IU+Z")("replace", 2, (function(t, e, a, f) {
                return [
                    function(i, r) {
                        var s = t(this),
                            n = null == i ? void 0 : i[e];
                        return void 0 !== n ? n.call(i, s, r) : a.call(String(s), i, r)
                    },
                    function(t, e) {
                        var r = f(a, t, this, e);
                        if (r.done) return r.value;
                        var c = i(t),
                            m = String(this),
                            d = "function" == typeof e;
                        d || (e = String(e));
                        var g = c.global;
                        if (g) {
                            var y = c.unicode;
                            c.lastIndex = 0
                        }
                        for (var v = [];;) {
                            var x = l(c, m);
                            if (null === x) break;
                            if (v.push(x), !g) break;
                            "" === String(x[0]) && (c.lastIndex = o(m, s(c.lastIndex), y))
                        }
                        for (var k, b = "", E = 0, S = 0; S < v.length; S++) {
                            x = v[S];
                            for (var w = String(x[0]), P = h(p(n(x.index), m.length), 0), C = [], A = 1; A < x.length; A++) C.push(void 0 === (k = x[A]) ? k : String(k));
                            var T = x.groups;
                            if (d) {
                                var D = [w].concat(C, P, m);
                                void 0 !== T && D.push(T);
                                var M = String(e.apply(void 0, D))
                            } else M = u(w, m, P, C, T, e);
                            P >= E && (b += m.slice(E, P) + M, E = P + w.length)
                        }
                        return b + m.slice(E)
                    }
                ];

                function u(t, e, i, s, n, o) {
                    var l = i + t.length,
                        h = s.length,
                        p = d;
                    return void 0 !== n && (n = r(n), p = m), a.call(o, p, (function(a, r) {
                        var o;
                        switch (r.charAt(0)) {
                            case "$":
                                return "$";
                            case "&":
                                return t;
                            case "`":
                                return e.slice(0, i);
                            case "'":
                                return e.slice(l);
                            case "<":
                                o = n[r.slice(1, -1)];
                                break;
                            default:
                                var p = +r;
                                if (0 === p) return a;
                                if (p > h) {
                                    var m = c(p / 10);
                                    return 0 === m ? a : m <= h ? void 0 === s[m - 1] ? r.charAt(1) : s[m - 1] + r.charAt(1) : a
                                }
                                o = s[p - 1]
                        }
                        return void 0 === o ? "" : o
                    }))
                }
            }))
        },
        quPj: function(t, e, a) {
            var i = a("0/R4"),
                r = a("LZWt"),
                s = a("K0xU")("match");
            t.exports = function(t) {
                var e;
                return i(t) && (void 0 !== (e = t[s]) ? !!e : "RegExp" == r(t))
            }
        },
        rGqo: function(t, e, a) {
            for (var i = a("yt8O"), r = a("DVgA"), s = a("KroJ"), n = a("dyZX"), o = a("Mukb"), l = a("hPIQ"), h = a("K0xU"), p = h("iterator"), c = h("toStringTag"), m = l.Array, d = {
                CSSRuleList: !0,
                CSSStyleDeclaration: !1,
                CSSValueList: !1,
                ClientRectList: !1,
                DOMRectList: !1,
                DOMStringList: !1,
                DOMTokenList: !0,
                DataTransferItemList: !1,
                FileList: !1,
                HTMLAllCollection: !1,
                HTMLCollection: !1,
                HTMLFormElement: !1,
                HTMLSelectElement: !1,
                MediaList: !0,
                MimeTypeArray: !1,
                NamedNodeMap: !1,
                NodeList: !0,
                PaintRequestList: !1,
                Plugin: !1,
                PluginArray: !1,
                SVGLengthList: !1,
                SVGNumberList: !1,
                SVGPathSegList: !1,
                SVGPointList: !1,
                SVGStringList: !1,
                SVGTransformList: !1,
                SourceBufferList: !1,
                StyleSheetList: !0,
                TextTrackCueList: !1,
                TextTrackList: !1,
                TouchList: !1
            }, f = r(d), u = 0; u < f.length; u++) {
                var g, y = f[u],
                    v = d[y],
                    x = n[y],
                    k = x && x.prototype;
                if (k && (k[p] || o(k, p, m), k[c] || o(k, c, y), l[y] = m, v))
                    for (g in i) k[g] || s(k, g, i[g], !0)
            }
        },
        rTrL: function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":33,"w":364,"h":88,"nm":"download-button-动效","ddd":0,"assets":[{"id":"image_0","w":261,"h":260,"u":"https://res06.bignox.com/s3group/player/launch/2020/07/13/","p":"43dd2dc53c4d4df79fdcf5a106fab15e.png","e":0}],"layers":[{"ddd":0,"ind":3,"ty":4,"nm":"路径 3","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[181.773,44,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":25,"nm":"投影","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"阴影颜色","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.10000000149],"ix":1}},{"ty":0,"nm":"不透明度","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":25.5,"ix":2}},{"ty":0,"nm":"方向","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"距离","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":2,"ix":4}},{"ty":0,"nm":"柔和度","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":6,"ix":5}},{"ty":7,"nm":"仅阴影","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-166.28,44],[-184,13.36],[-150.78,-44],[166.28,-44],[184,-13.41],[150.78,44]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":8,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":2,"k":{"a":0,"k":[0,1,1,1,1,0,0,0],"ix":9}},"s":{"a":0,"k":[-167.989,-30.071],"ix":5},"e":{"a":0,"k":[162.014,53.241],"ix":6},"t":1,"nm":"渐变填充 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":33,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":2,"nm":"矩形@1x.png","cl":"png","tt":1,"refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.32,"y":0.94},"t":0,"s":[-135.997,41.26,0],"to":[81.328,0,0],"ti":[-130.763,0,0]},{"t":33,"s":[504.497,41.26,0]}],"ix":2},"a":{"a":0,"k":[130.5,130,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":33,"st":-19,"bm":3},{"ddd":0,"ind":5,"ty":4,"nm":"路径 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[182,44,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-166.28,44],[-184,13.36],[-150.78,-44],[166.28,-44],[184,-13.41],[150.78,44]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"圆角 1","r":{"a":0,"k":8,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-167.989,-30.071],"ix":5},"e":{"a":0,"k":[162.014,53.241],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":33,"st":0,"bm":0}],"markers":[{"tm":31,"cm":"1","dr":0}]}')
        },
        "sM/0": function(t) {
            t.exports = JSON.parse('{"v":"5.7.0","fr":25,"ip":0,"op":15,"w":96,"h":96,"nm":"images/icon_video_hover备份 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":4,"ty":4,"nm":"形状 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[100,100,100]},{"t":15,"s":[120,120,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-3.31],[0,0],[3.31,0],[0,0],[0,3.31],[0,0],[-3.31,0]],"o":[[3.31,0],[0,0],[0,3.31],[0,0],[-3.31,0],[0,0],[0,-3.31],[0,0]],"v":[[12,-13.5],[18,-7.5],[18,7.5],[12,13.5],[-12,13.5],[-18,7.5],[-18,-7.5],[-12,-13.5]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[6.5,5.5],[-6.5,5.5],[-8,7],[-6.64,8.49],[-6.5,8.5],[6.5,8.5],[8,7],[6.64,5.51]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[1.5,-1.5],[-1.5,-1.5],[-3,0],[-1.64,1.49],[-1.5,1.5],[1.5,1.5],[3,0],[1.64,-1.49]],"c":true},"ix":2},"nm":"路径 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[10.5,-1.5],[7.5,-1.5],[6,0],[7.36,1.49],[7.5,1.5],[10.5,1.5],[12,0],[10.64,-1.49]],"c":true},"ix":2},"nm":"路径 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[-7.5,-1.5],[-10.5,-1.5],[-12,0],[-10.64,1.49],[-10.5,1.5],[-7.5,1.5],[-6,0],[-7.36,-1.49]],"c":true},"ix":2},"nm":"路径 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[1.5,-8.5],[-1.5,-8.5],[-3,-7],[-1.64,-5.51],[-1.5,-5.5],[1.5,-5.5],[3,-7],[1.64,-8.49]],"c":true},"ix":2},"nm":"路径 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[10.5,-8.5],[7.5,-8.5],[6,-7],[7.36,-5.51],[7.5,-5.5],[10.5,-5.5],[12,-7],[10.64,-8.49]],"c":true},"ix":2},"nm":"路径 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-0.83],[-0.77,-0.07],[0,0],[0,0],[0,0.83],[0.77,0.07]],"o":[[0,0],[-0.83,0],[0,0.78],[0,0],[0,0],[0.83,0],[0,-0.78],[0,0]],"v":[[-7.5,-8.5],[-10.5,-8.5],[-12,-7],[-10.64,-5.51],[-10.5,-5.5],[-7.5,-5.5],[-6,-7],[-7.36,-8.49]],"c":true},"ix":2},"nm":"路径 8","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"合并路径 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状","np":10,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.323],"y":[0]},"t":0,"s":[100]},{"t":15,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[100,100,100]},{"t":15,"s":[119,119,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.69,-2.11],[0,0],[0,-4.3],[0,0],[3.74,-2.13],[0,0],[3.69,2.11],[0,0],[0,4.3],[0,0],[-3.74,2.14],[0,0]],"o":[[0,0],[3.74,2.14],[0,0],[0,4.3],[0,0],[-3.69,2.11],[0,0],[-3.74,-2.13],[0,0],[0,-4.3],[0,0],[3.69,-2.11]],"v":[[5.95,-36.599],[28.95,-23.459],[35,-13.039],[35,13.041],[28.95,23.451],[5.95,36.601],[-5.95,36.601],[-28.95,23.451],[-35,13.041],[-35,-13.039],[-28.95,-23.459],[-5.95,-36.599]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,0.600000023842],"ix":3},"o":{"a":0,"k":60,"ix":4},"w":{"a":0,"k":0.833,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.054901961237,0.06274510175,0.196078434587,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"路径","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.32],"y":[1.41]},"t":0,"s":[0]},{"t":15,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[48,48,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.6,0.6,0.6],"y":[1,1,1]},"o":{"x":[0.32,0.32,0.32],"y":[1.41,1.41,0]},"t":0,"s":[82,82,100]},{"t":15,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.42,-2.53],[0,0],[0,-5.19],[0,0],[4.49,-2.57],[0,0],[4.42,2.53],[0,0],[0,5.19],[0,0],[-4.49,2.57],[0,0]],"o":[[0,0],[4.49,2.57],[0,0],[0,5.19],[0,0],[-4.42,2.53],[0,0],[-4.49,-2.57],[0,0],[0,-5.19],[0,0],[4.42,-2.53]],"v":[[7.14,-44.1],[34.74,-28.26],[42,-15.71],[42,15.71],[34.74,28.26],[7.14,44.1],[-7.14,44.1],[-34.74,28.26],[-42,15.71],[-42,-15.71],[-34.74,-28.26],[-7.14,-44.1]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.243,0.467,1,0.5,0.622,0.386,0.833,1,1,0.306,0.667],"ix":9}},"s":{"a":0,"k":[-38.345,-31.438],"ix":5},"e":{"a":0,"k":[36.981,55.661],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"路径","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":15,"st":0,"bm":0}],"markers":[]}')
        },
        sMXx: function(t, e, a) {
            "use strict";
            var i = a("Ugos");
            a("XKFU")({
                target: "RegExp",
                proto: !0,
                forced: i !== /./.exec
            }, {
                exec: i
            })
        },
        vhPU: function(t, e) {
            t.exports = function(t) {
                if (null == t) throw TypeError("Can't call method on  " + t);
                return t
            }
        },
        w2a5: function(t, e, a) {
            var i = a("aCFj"),
                r = a("ne8i"),
                s = a("d/Gc");
            t.exports = function(t) {
                return function(e, a, n) {
                    var o, l = i(e),
                        h = r(l.length),
                        p = s(n, h);
                    if (t && a != a) {
                        for (; h > p;)
                            if ((o = l[p++]) != o) return !0
                    } else
                        for (; h > p; p++)
                            if ((t || p in l) && l[p] === a) return t || p || 0; return !t && -1
                }
            }
        },
        xpql: function(t, e, a) {
            t.exports = !a("nh4g") && !a("eeVq")((function() {
                return 7 != Object.defineProperty(a("Iw71")("div"), "a", {
                    get: function() {
                        return 7
                    }
                }).a
            }))
        },
        y3w9: function(t, e, a) {
            var i = a("0/R4");
            t.exports = function(t) {
                if (!i(t)) throw TypeError(t + " is not an object!");
                return t
            }
        },
        yLpj: function(t, e) {
            var a;
            a = function() {
                return this
            }();
            try {
                a = a || new Function("return this")()
            } catch (t) {
                "object" == typeof window && (a = window)
            }
            t.exports = a
        },
        ylqs: function(t, e) {
            var a = 0,
                i = Math.random();
            t.exports = function(t) {
                return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++a + i).toString(36))
            }
        },
        yt8O: function(t, e, a) {
            "use strict";
            var i = a("nGyu"),
                r = a("1TsA"),
                s = a("hPIQ"),
                n = a("aCFj");
            t.exports = a("Afnz")(Array, "Array", (function(t, e) {
                this._t = n(t), this._i = 0, this._k = e
            }), (function() {
                var t = this._t,
                    e = this._k,
                    a = this._i++;
                return !t || a >= t.length ? (this._t = void 0, r(1)) : r(0, "keys" == e ? a : "values" == e ? t[a] : [a, t[a]])
            }), "values"), s.Arguments = s.Array, i("keys"), i("values"), i("entries")
        },
        zRwo: function(t, e, a) {
            var i = a("6FMO");
            t.exports = function(t, e) {
                return new(i(t))(e)
            }
        },
        zhAb: function(t, e, a) {
            var i = a("aagx"),
                r = a("aCFj"),
                s = a("w2a5")(!1),
                n = a("YTvA")("IE_PROTO");
            t.exports = function(t, e) {
                var a, o = r(t),
                    l = 0,
                    h = [];
                for (a in o) a != n && i(o, a) && h.push(a);
                for (; e.length > l;) i(o, a = e[l++]) && (~s(h, a) || h.push(a));
                return h
            }
        }
    },
    [
        [0, 0, 1]
    ]
]);